有什么区别:

npm install [package_name]

and:

npm install [package_name] --save

and:

npm install [package_name] --save-dev

这是什么意思?——save和-dev关键字的真正作用是什么?


当前回答

as——save是npm的默认选项,所以我使用

npm i package 

还有,我用的是

npm i package -D

默认选项将安装包作为项目依赖项,其中as -D为开发依赖项,如测试,lint等,并为开发过程安装包

你可以在这里找到所有的标志https://docs.npmjs.com/cli/v8/commands/npm-install

其他回答

这里所有的解释都很棒,但缺少一个非常重要的东西:如何仅安装生产依赖项?(没有开发依赖项)。 我们通过使用——save或——save-dev将依赖项与devDependencies分开。 安装所有我们使用的:

npm i

要只安装生产包,我们应该使用:

npm i --only=production

——save-dev(只用于开发,不用于生产) ——save(生产依赖项) ——global或-g(全局使用,即可以在本地系统的任何地方使用)

——save-dev用于保存用于开发目的的包。 例如:单元测试、简化… ——save用于保存 应用程序运行所需的包。

基本上我们写

npm install package_name

但特别为了测试目的,我们不需要在应用程序运行在正常状态下运行一些包,因此Node引入了很好的方法来解决这个问题。每当我们写作时

npm install package_name --save-dev

当时,该包仅用于开发目的而安装。

默认情况下,NPM只是在node_modules下安装一个包。当你试图为你的app/模块安装依赖项时,你需要先安装它们,然后将它们添加到package.json的依赖项部分。

——save-dev将第三方包添加到包的开发依赖项中。当有人直接运行npm install来安装你的包时,它不会被安装。通常只有当有人先克隆你的源存储库,然后在其中运行npm install时才会安装它。

——save将第三方包添加到包的依赖项中。当有人运行npm install package时,它将与包一起安装。

开发依赖项是那些只在开发包时需要的依赖项。这可以包括测试运行器、编译器、打包器等。 这两种类型的依赖关系都存储在包的包中。json文件。——save-dev添加到devDependencies

NPM安装文档可以参考这里。

--

请注意——save现在是默认选项,从NPM 5开始。因此,不再显式地需要它。不使用——save命令也可以运行npm install来达到同样的效果。