关于dependencies和devDependencies的理解
npm install
会下载dependencies和devDependencies中的模块,当使用npm install --production或者注明NODE_ENV变量值为production时,只会下载dependencies中的模块。
npm install 单个模块
安装到node_modules目录中,默认情况下,npm install会将任何指定的包保存到dependencies项中(npm 5.x.x后)。此外,您还可以使用一些附加标志控制如何保存它们。
npm install 单个模块 --save
安装到node_modules目录中,保存在package.json中dependencies字段下,安装生产环境依赖的模块,即项目运行时的模块,例如react,react-dom,jQuery等类库或者框架。运行npm install,或者npm install --production或者注明NODE_ENV变量值为production时,会将这些模块自动安装到node_modules中。
npm install 单个模块 --save-dev
安装到node_modules目录中,保存在package.json中devDependencies字段下,安装开发环境依赖的模块,即项目开发时的模块,例如babel(转码器,可以将ES6代码转为ES5代码)等一些工具,只需在开发环境时用到。运行npm install,会将这些模块自动安装到node_modules中,但运行npm install --production或者注明NODE_ENV变量值为production时,不会将这些模块自动安装到node_modules中。
$ npm install --production # 或者 $ NODE_ENV=production npm install