100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【Angular4学习】npm 安装参数中的 --save-dev 含义 + package.json的依赖关系说明

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

时间:2019-08-27 10:54:42

相关推荐

【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. dependencies2. peerDependencies3. 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.补充,我们利用生方式打生产的包的时候,就是把开发依赖里面的包都去掉,然后只依赖运行时的包,所以我们生产环境体积就会缩小,线上的访问速度才会有极大的提升。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。