npm i -D和-s及-g以及–save 的使用区别
https://blog.csdn.net/qq_51066068/article/details/125872774
npm 相信大家都很熟悉了, 我们在项目中必须会用到的,但是每次用的时候就直接按照文档操作了, 也没有搞清楚-D, -s, -g, –save 的区别。正好借着这个文章整理分享一下吧。
npm是Node官方提供的包管理工具,他已经成了Node包的标准发布平台,用于Node包的发布、传播、依赖控制。npm提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。
npm i module_name -S = > npm install module_name --save 写入到 dependencies 对象
npm i module_name -D => npm install module_name --save-dev 写入到 devDependencies 对象
npm i module_name -g 全局安装
i => install == 安装
-S => save == 保存
-D =>devDependencies => 写入devDependencies,发布到生产环境
-g =>global => 全局安装
在 package.json 文件里面提现出来的区别就是,使用 –save-dev 安装的 插件,被写入到 devDependencies 对象里面去,而使用 –save 安装的插件,责被写入到dependencies 对象里面去。
devDependencies 里面的插件只用于开发环境,不用于生产环境,而 dependencies 是需要发布到生产环境的。
npm和cnpm的区别?
(1)两者之间只是node中包管理器不同
(2)npm是node官方的包管理器,cnpm是中国版的npm,是淘宝定制的cnpm(gzip压缩支持)命令行工具代替默认的npm
(3)如果因为网络原因无法使用npm下载,cnpm就排上用场了
cnpm的下载
npm install -g cnpm -registry=https://registry.npm.taobao.org
很多人觉得npm不够快,所以使用cnpm
查看cnpm是否安装成功
cnpm -v
npm介绍
npm(node package manager)nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)
-g 全局安装
--save 将保存配置信息至package.json
-dev:保存至package.json的devDependencies节点,不指定-dev将保存至dependencies节点
为什么要保存在package.json?
因为node插件包相对来说非常庞大,所以不加入版本管理,将配置信息写入package.json并将其加入版本管理,其他开发者对应下载即可(命令提示符执行npm install,则会根据package.json下载所有需要的包,npm install --production只下载dependencies节点的包)
cnpm介绍
因为npm安装插件是从国外服务器下载,受网络影响较大,可能出现异常,cnpm是一个完整的npmjs.org镜像,可以使用cnpm代替官方版本,同步频率目前为10分钟一次保证尽量与官方服务同步
注:cnpm和npm使用方法一样,只是把npm换成cnpm即可
npm安装-D和-S的区别
1、-D 是在开发环境中协助开发需要使用的
2、-S是生产环境打包时需要的
3、在package.json中 -D在devDependencies对象中,-S在dependencies对象中
一、开发依赖(devDependencies)
假如我们用gulp对html进行压缩,我们通常会用到一个插件gulp-htmlmin。我们只希望它把html压缩完就ok了,并不希望它融入我们的项目代码中,即只存在于开发环境,因此把他归类为"开发依赖"
二、生产依赖(dependencies)
在开发时参与源码编写,在发布上线的生产环境中也是需要它的。不仅在开发环境编写代码时要依赖它、线上环境也要依赖它,因此将它归类为"生产依赖"。
三、理解 :
举例 :
在男人追女人的过程中,我们依赖 :
- 糖衣炮弹,礼物,了解关于她兴趣爱好的东西,讨好闺蜜
- 有钱,有车,有房
在结婚的时候,我们依赖 :
- 有钱,有车,有房,人品,三观
在进入结婚的阶段的时候,那么糖衣炮弹,礼物等等就不需要了,这个时候就需要双方家长吃饭,谈彩礼,房,车,人品,三观
在开发前端项目的过程中也存在类似的问题:我们的开发过程和使用过程是分开的,开发项目时需要用到的包可能在使用项目时就不需要用到了。
四、操作
1. 保存到开发依赖(devDependencies)
npm install 包名 --save-dev
// 或者 npm install 包名 -D
通过这种方式安装的包出会现在package.json文件中的devDependencies字段中
2. 保存到生产依赖(dependencies):
npm install 包名
// 或者 npm install 包名 -S
// 或者 npm install 包名 --save
通过这种方式安装的包出会现在package.json文件中的dependencies字段中。
四、小技巧 :
加了 -D : 开发依赖,这就表示这个工具包只在开发项目时候要用,项目开发完成就不需要
不加 -D: 生产依赖,这就表示这个工具包在项目做完了之后也要用
什么包加上 -D ,什么包不要加?------- 看官方文档
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
· 全程使用 AI 从 0 到 1 写了个小工具
2020-10-08 使用logstash配置nginx和tomcat日志统一收集到一台日志服务器
2018-10-08 nginx 502 Bad Gateway 错误解决办法