blog
blog copied to clipboard
NPM install 疑问
一个前后端分离的 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