【Angular4学习】npm 安装参数中的 --save-dev 含义 + package.json的依赖关系说明

关于 - -save-dev参数

有些 node.js 的包安装的时候都加上 –save-dev 参数,这参数是做什么的,加和不加有什么区别呢?

>  npm install xxx --save-dev

解释

当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下npm install module-name),然后连同版本号手动将他们添加到模块配置文件package.json中的依赖里(dependencies)。

–save和–save-dev 可以省掉你手动修改package.json文件的步骤。
自动把模块和版本号添加到dependencies部分:

> npm install module-name --save 

自动把模块和版本号添加到devdependencies部分:

> npm install module-name --save-dve 

这是表面是你能看到的变化。
至于配置文件区分这俩部分, 是用于区别开发依赖模块和产品依赖模块, 以我见过的情况来看 devDepandencies主要是配置测试框架, 例如jshint、mocha等。

关于nodejs package.json的依赖关系:

package.json提供了三种依赖关系定义:

1. dependencies
2. peerDependencies
3. devDependencies

解释

dependencies是运行时依赖,devDependencies 是开发时依赖,即devDependencies 下列出的模块,是我们开发时用的。peerDependencies是为插件准备的。比如grunt的插件,里面没有“require(“grunt”)”,所以用dependencies会有问题,需要单独列出。

例子

1.举个例子说明开发依赖:比如你模块用了mocha测试框架,那么你的模块的开发就依赖 mocha,如果别人想为你的模块贡献代码,他就需要安装mocha。但是只是使用你的模块的人,就不需要mocha。
2.再举个例子:比如 我们安装 js的压缩包gulp-uglify 时,我们采用的是 “npm install –save-dev gulp-uglify ”命令安装,就只装进了开发依赖里,因为我们在发布后用不到它,而只是在我们开发才用到它。而dependencies 下的模块,则是我们发布后还需要依赖的模块,譬如像jQuery库或者Angular框架类似的,我们在开发完后后肯定还要依赖它们,否则就运行不了。
3.补充,我们利用生方式打生产的包的时候,就是把开发依赖里面的包都去掉,然后只依赖运行时的包,所以我们生产环境体积就会缩小,线上的访问速度才会有极大的提升。

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值