为什么需要npm --save-dev

时间:2015-01-12 07:16:27

标签: node.js npm

在npm中安装软件包时,为什么我们需要在最后添加--save-dev

示例:

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

通过在线文档(https://docs.npmjs.com/cli/install),它会显示“套餐会显示在您的devDependencies中。”那什么意识?这是不是意味着,如果我不放--save-dev它将安装在不同的目录上?

2 个答案:

答案 0 :(得分:16)

package.json有两个存储依赖项信息的地方:“dependencies”对象和“devDependencies”对象。

安装应用程序并运行“npm install”时,它会同时删除依赖项和devDependencies。但是,如果你执行“npm install --production”,它只会删除依赖项,而不是devDependencies。

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

答案 1 :(得分:3)

package.json文件中,它会自动将gulp-angular-templatecache模块添加到JSON中的devDependencies对象,然后在node_modules下在您的应用程序中正常安装。唯一的区别是它编辑package.json文件以记住devDependency。无论哪种方式安装在同一位置。因此,在运行之后,您的package.json将如此显示:

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