我可以在 sails.js 资产目录中轻松 运行 一个 vue.js webapp 吗?

Can I easily run a vue.js webapp in a sails.js assets directory?

我正在学习如何使用 Sails.jsvue.js。所以我正在尝试开发一个小应用程序,其中有一个 vue.js 应用程序位于 sails.js 的 assets/ 目录中。我的想法是使用同一台服务器(命令 sails lift)为两个应用程序提供服务,但我在让它工作时遇到了一些麻烦。

原因是因为sails服务器可以服务我的vue应用的索引文件(assets/web/dist/index.html),但是其他vue资源会404,因为我的vue index.html文件将要求地址 localhost:1337/static/etc 而不是 localhost:1337/web/dist/static/etc .

所以我可以让它工作 运行ning npm 运行-script build in assets/web(我的 vue 目录)并在我的资产目录中创建 assets/web/dist 的副本。通过这种方式,我的 vue 应用程序由 sails.js 开发服务器提供服务。但是我每次更改某些内容时都必须 "compile" vue 并复制它。这对生产来说很好,但对开发来说很糟糕。

是否有一些简单的方法可以仅使用一个开发服务器来开发此应用程序,或者我应该将它们分成两个应用程序并分别提供服务(在开发环境中)?

我正在使用 sails v1.0.2 和最新的 bootstrap-vue(当前 bootstrap ^4.0.0-beta.2 和 vue ^2.5.2)

(在 https://github.com/lampsbr/projetao 中可用)

你应该拆分它,e。 G。 frontend/backend 目录,最好为两个服务器设置不同的终端会话,否则可能会变得混乱。在我的 example project 与 Vue.js 和 Sails.js 中,仍然可以同时启动两者。但这仅适用于非常快速的更改。

这就是我在 package.json:

中的做法
"scripts": {
    "dev": "cd backend && npm run dev & cd frontend && npm run dev",
    "install": "cd frontend && npm i && cd ../backend && npm i && cd .."
},

只有在投入生产时才需要编译 Vue.js 应用程序,正如您提到的,它将被推送到 Sails.js 的 assets 目录中。也就是说,只有您编译的 Vue.js 应用程序应该位于您的资产目录中,没有源文件!

另一种常见的方法是在 Sails.js 目录中有一个 client 目录。