dependencies与devDependencies的区别

来源:互联网 发布:下载淘宝2016新版本 编辑:程序博客网 时间:2024/06/06 03:32

npm install在安装node模块时,有两种命令参数可以把它们的信息写入package.json文件。

–save–save-dev

那二者的区别在哪里呢?
–save会把依赖包名称添加到package.json文件dependencies键下,–save-dev则添加到package.json文件devDependencies键下。
例如:

{  "name": "Demo",  "version": "0.0.1",  "private": true,  "scripts": {    "start": "node node_modules/react-native/local-cli/cli.js start",    "test": "jest"  },  "dependencies": {    "react": "~15.4.1",    "react-native": "0.42.3",    "react-native-router-flux": "^3.38.0",    "react-native-scrollable-tab-view": "^0.6.3"  },  "devDependencies": {    "babel-jest": "19.0.0",    "babel-preset-react-native": "1.9.1",    "flow-bin": "^0.44.2",    "jest": "19.0.2",    "react-test-renderer": "~15.4.1"  },  "jest": {    "preset": "react-native"  }}

devDependencies下列出的模块,是我们开发时用的依赖项,像一些进行单元测试之类的包,比如grunt-contrib-uglify,我们用它混淆js文件,它们不会被部署到生产环境。dependencies下的模块,则是我们生产环境中需要的依赖,即正常运行该包时所需要的依赖项。

如果执行npm install命令,默认会安装两种依赖。如果你只是单纯的使用这个包而不需要进行一些改动测试之类的,只安装dependencies而不安装devDependencies。

npm install --production

注意:通过“npm install packagename”进行安装,只会安装dependencies。如需安装devDependencies,执行如下命令:

npm install packagename --dev