dependencies与devDependencies的区别

时间:2022-04-27
本文章向大家介绍dependencies与devDependencies的区别,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

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