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 ,什么包不要加?------- 看官方文档

posted on   四海骄阳  阅读(937)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全网最简单!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 错误解决办法

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多