Geo*_*nos 5 javascript heroku node.js npm
我有一个包含后端(Node / Express)和前端客户端的存储库,如下所示:
??? build
??? config
??? coverage
? ??? lcov-report
??? dist
? ??? static
??? server (node/express server)
? ??? coverage
? ??? docs
| ??? src
? ??? etc
? ??? package.json
|
??? src (Vue.js : client code)
? ??? api
? ??? assets
? ??? components
? ??? router
? ??? store
??? static
??? package.json
Run Code Online (Sandbox Code Playgroud)
我有两个package.json文件,一个用于客户端,一个用于服务器。
在同一package.json中同时拥有前端和后端部分的优缺点是什么?
您可以使用heroku-postbuild并在推送到 Heroku 的单个 git 存储库中为您的客户端和服务器维护单独的 package.json 文件。
例如,在我的一个项目中,目录结构如下所示:
|-- package.json (for node/express server)
|-- Procfile
|-- www
|--client
|-- package.json (for Ionic/Angular client app)
|-- ...
|--server
|--- ...
|-- server.js (top level node.js/express script for server)
Run Code Online (Sandbox Code Playgroud)
在我的顶级 package.json 中,我有:
"scripts": {
"start": "node www/server.js",
"heroku-postbuild": "cd www/client && npm install && npm run build"
},
Run Code Online (Sandbox Code Playgroud)
在我的客户端 package.json 我有:
"scripts": {
"build": "ionic-app-scripts build",
...
},
Run Code Online (Sandbox Code Playgroud)
最后在我的 Procfile 我有:
web: npm start
Run Code Online (Sandbox Code Playgroud)
使用这个解决方案,Heroku 运行我的服务器并在每个 Heroku 构建上构建我的客户端代码。
我认为客户端和服务器 package.jsons 应该分开保存,原因有几个。一方面,您真的不希望将所有服务器端代码捆绑到您的客户端中。
| 归档时间: |
|
| 查看次数: |
1196 次 |
| 最近记录: |