npm install --save,不保存有什么用

npm install --save, what is the use of not saving

我理解 npm install somethingnpm install something --save 之间的区别(对于任何想知道的人,第一个只会安装依赖项,而后者会安装依赖项并将其添加到您的 package.json ).

但是我不明白为什么首先会有 --save 选项。换句话说,您为什么要安装依赖项 而不 将其添加到 package.json 文件中?为什么 --save 选项不是默认值?

很多 websites/npm modules/SaaS 建议使用 npm install something 安装他们的模块(例如 newrelic 就是其中之一),我错过了什么吗?

编辑Starting from NPM 5--save 现在默认打开。

  1. 您可能会遇到这样一种情况,例如您需要安装一些模块而不向 package.json 文件添加依赖项,例如。你只是想尝试一些模块,但不确定你是否会在生产或部署时真正使用该模块,所以不要将模块依赖项添加到 package.json,而是在不使用 --save 的情况下尝试一下。这就是 npm install 没有 --save 存在的原因。

  2. 但是对于大多数模块,您可能需要使用 --save,例如。 npm install express --save, 在这种情况下,您肯定知道您将为您的应用程序使用 express。

  3. 不使用 --save 的另一种情况是 npm install heapdumpnpm install nodemon,我会用它来测试我的应用程序性能,但不是在 package.json 中添加依赖项 :)

  4. 此外,正如@surajck 在下面的评论中所说:当您进行全局安装时,在这种情况下使用 --save 添加依赖项到 package.json 是没有意义的.

我刚刚从 Jonathan Mills 关于 Pluralsight 的 JavaScript 最佳实践 课程中学到了一个很好的技巧。来自终端:
npm config set save=true
现在我不需要再记住 --save 了。我现在也用
npm config set save-exact=true
因为我想要包的确切版本而不是 ^ 前缀。

默认情况下,npm 5.0+ 版本 npm install 将模块添加到 package.json 文件中的依赖项列表;对于较早版本的 npm,您必须明确指定 --save 选项。然后,之后,运行 app 目录下的 npm install 会自动安装依赖列表中的模块。