1.npm是什么?
- npm的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。
- 2020年3月17日,Github宣布收购npm,GitHub现在已经保证npm将永远免费。
在程序开发中我们常常需要依赖别人提供的框架,亦或是方法库,写 JS 也不例外。这些可以重复的框架代码被称作包(package)或者模块(module)
1. -save与 --save -dev的区别
- dependencies(运行依赖)
也就是我们项目运行上线还会使用的插件 比如webpack axios vant Element UI框架 - devDependencies(开发依赖)
也就是帮助开发的插件 比如babel live-server lodash loader类似的
- npm i/install 插件 ,会把插件安装到node_modules目录中,不会修package.json。
- npm i 插件 --save (-S) , 项目发布上线之后还会依赖用到的插件,没有这些插件,项目不能运行自动更改package.json 写入dependencies 节点。
- npm i 插件 -g是不会更改package中的内容 但是可以存在node_modules目录中 。
- npm i 插件 --save-dev(-D) ,安装到开发依赖中,项目上线之后不会用到的插件,例如’babel-loader’,项目解析完发布,自动更改package.json 写入devDependencies 节点。
3.npm和cnpm的区别?
- 两者之间只是node中包管理器不同
- npm是node官方的包管理器,cnpm是中国版的npm,是淘宝定制的cnpm(gzip压缩支持)命令行工具代替默认的npm
- 如果因为网络原因无法使用npm下载,cnpm就排上用场了
- cnpm的下载
npm install -g cnpm -registry=https://registry.npm.taobao.org
查看cnpm是否安装成功
cnpm -v