zwhu / blog

嘛,写 blog 也要遵守基本法。
MIT License
66 stars 2 forks source link

NPM install 疑问 #13

Open zwhu opened 8 years ago

zwhu commented 8 years ago

一个前后端分离的 Node 项目,怎么合理分配依赖包的 Key?

package.json 中, 有 dependenciesdevDependencies 的配置,顾名思义, dependencies 中放的是项目必不可少的依赖包,比如后端是 koa 的项目,那么如果别人想运行你的项目就必须安装 koa,而 devDependencies 放的是使用者无需安装的依赖包,比如 mocha,eslint 之类的依赖,那么问题来了,在一个前后端分离的项目中,如何合理分配依赖包的 Key 。

现在大概有两种做法:

  1. 把前端的依赖包和开发需要依赖的包都放到 devDependencies 中,后端的放到 dependencies 中,在服务器上使用 npm install --production 安装后端需要的依赖包。前端在开发机上打包之后上传到服务器上。
  2. 把前端的依赖包和开发需要依赖的包都放到 dependencies 中,后端的放到 devDependencies 中,然后使用 npm install --dev 安装。

一和二的做法其实也没什么区别,只不过 production 更符合在生产环境使用的语义,身边没什么朋友能讨论这个问题,只能自己瞎试了,在使用的过程中遇到的坑都会尽力记录下来。

friskfly commented 8 years ago

找巨老师讨论啊

nunnly commented 8 years ago

前端开发的放在devDependencies,后端的服务放在dependencies,这样在语义方面理解较好,一般的人npm install && npm start 项目就可以跑起来了,如果需要再做开发,可以另行安装devDependencies