手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

npm install 时--save-dev和--save的区别

[日期:2018-03-22] 来源:Linux社区  作者:blackgan [字体: ]

package.json中两个字段含义简介

一直在使用npm包管理器,对于npm install module --save-dev 和 npm install module --save这两个的区别做了一些浅析的理解:

dependencies

dependencies属性被声明在一个简单的对象中,用来控制包名在一定的版本范围内,版本范围是一个字符串,可以被一个或多个空格分割。dependencied也可以被指定为一个压缩包地址或者一个 git URL 地址。

不要把测试工具或transpilers转义器(babel, webpack, gulp, postcss...)写到dependencies中。 (这些应该写到devDependencies)配置中,因为在别的项目中npm install 该包的时候会去下载dependencies中的依赖。

devDependencies

如果你的包被别人依赖或者安装时,在对方主项目中进行npm install便不会安装依赖包中的devDependencies中的npm包,所以如果你的项目中依赖的一些包不是在使用该项目时必须进行安装的,那就将包放在devDependencies中。

****整体功能比较****

npm install module:

  • 会把module包安装到node_modules目录中
  • 不会修改package.json
  • 之后运行npm install 命令时,不会自动安装module包

npm install module --save

  • 会把module包安装到node_modules目录汇总
  • 会修改package.json,将模块名和版本号添加到dependencies部分
  • 之后运行npm install 命令时,会自动安装module包
  • 之后运行npm install --production或者注明NODE_ENV变量值为production时,会自动安装 module到node_modules目录中,即是在线上环境运行时会将包安装

npm install module --save-dev

  • 会把module包安装到node_modules目录汇总
  • 会修改package.json,将模块名和版本号添加到devDependencies部分
  • 之后运行npm install 命令时,会自动安装module包
  • 之后运行npm install --production或者注明NODE_ENV变量值为production时,不会自动安装msbuild到node_modules目录中,即是在线上环境并不会进行安装。

首先,--save和--save-dev可以省掉我们手动修改package.json文件的步骤。我们使用的一些打包工具、非项目必须依赖的都放在devDependencies中。

本文永久更新链接地址https://www.linuxidc.com/Linux/2018-03/151499.htm

linux
相关资讯       NPM 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款