blog
blog copied to clipboard
NPM install 疑问
trafficstars
一个前后端分离的 Node 项目,怎么合理分配依赖包的 Key?
package.json 中, 有 dependencies 和 devDependencies 的配置,顾名思义, dependencies 中放的是项目必不可少的依赖包,比如后端是 koa 的项目,那么如果别人想运行你的项目就必须安装 koa,而 devDependencies 放的是使用者无需安装的依赖包,比如 mocha,eslint 之类的依赖,那么问题来了,在一个前后端分离的项目中,如何合理分配依赖包的 Key 。
现在大概有两种做法:
- 把前端的依赖包和开发需要依赖的包都放到
devDependencies中,后端的放到dependencies中,在服务器上使用npm install --production安装后端需要的依赖包。前端在开发机上打包之后上传到服务器上。 - 把前端的依赖包和开发需要依赖的包都放到
dependencies中,后端的放到devDependencies中,然后使用npm install --dev安装。
一和二的做法其实也没什么区别,只不过 production 更符合在生产环境使用的语义,身边没什么朋友能讨论这个问题,只能自己瞎试了,在使用的过程中遇到的坑都会尽力记录下来。
找巨老师讨论啊
前端开发的放在devDependencies,后端的服务放在dependencies,这样在语义方面理解较好,一般的人npm install && npm start 项目就可以跑起来了,如果需要再做开发,可以另行安装devDependencies