为什么需要 npm --save-dev

Why need npm --save-dev

在npm中安装包时,为什么要在最后添加--save-dev

示例:

npm install gulp-angular-templatecache --save-dev

根据在线文档 (https://docs.npmjs.com/cli/install),它说 "package will appear in your devDependencies." 这是什么意思?那是不是意味着,如果我不放 --save-dev 它将安装在不同的目录?

package.json 文件中,它会自动将 gulp-angular-templatecache 模块添加到 JSON 内的 devDependencies 对象中,在 node_modules 正常。唯一的区别是它编辑 package.json 文件以记住该 devDependency。无论哪种方式,它都安装在相同的位置。所以在 运行 之后,你的 package.json 现在看起来像这样:

{
  ...
  "devDependencies": {
    ...
    "gulp-angular-templatecache": "^1.5.0"
  },
  ...
}

package.json有两个地方存放依赖信息:"dependencies"对象和"devDependencies"对象。

当您安装一个应用程序时 运行 "npm install" 它会拉下依赖项和 devDependencies。但是,如果你这样做 "npm install --production" 它只会拉下依赖关系,而不是 devDependencies。

想法是 devDependencies 用于测试 运行ners 和断言库之类的东西;开发时需要的东西,但实际将应用程序部署到生产环境时不需要的东西。