npm和cnpm的区别,你真的搞懂了嘛
1、 npm 和 cnpm 的区别
相信很多⼈都不太明⽩ npm 和 cnpm 到底是什么东东,为啥在国内要⽤淘宝镜像使⽤ cnpm,
(1)两者之间只是 node 中包管理器的不同哟,
(2) npm是node官⽅的包管理器。cnpm是个中国版的npm,是淘宝定制的  (gzip 压缩⽀持) 命令⾏⼯具代替默认的npm:
(3)如果因为⽹络原因⽆法使⽤npm下载,那cnpm这个就派上⽤场了。
  ⼀定切记切记,npm和cnpm只是下载器的不同,好像npm⽤⼈⼒板车去拉包,⽽cnpm却使⽤货车去运包。⽽存包的地址则在下⽂nrm 的查看,
2、 nrm的使⽤
很多⼈都说如果 npm 速度不够快。继⽽使⽤
nodejs到底是干嘛用的呢
npm install -g cnpm --registry=registry.
这个命令⾏就可以使⽤ cnpm 了。
但是它的实质是
  (1)全局安装 cnpm
  (2)并且将安装 ' 包 '(各种包)的地址切换到国内的淘宝镜像
这⾥⾯省略了⼀个很重要的东西,就是 nrm 的使⽤,这个包的功能可以让我们随意的切换我们下载包的地址。
  (1)如果装好了 cnpm 可以, cnpm i nrm -g
 (2)nrm ls 查看所有包下载路径,也就是存放包的不同位置,⾃然就有取包的速度区分
  (3)nrm use 使⽤包路径,当然也可以直接⽤ nrm help 查看 nrm 功能帮助
  如果没有了解过npm、 cnpm 的朋友可以再往下看详细理解以下
3、npm介绍
3.1、说明:npm(node package manager)nodejs的包管理器,⽤于node插件管理(包括安装、卸载、管理依赖等);
3.2、使⽤npm安装插件:命令提⽰符执⾏npm install <name> [-g] [--save-dev];
3.2.1、<name>:node插件名称。例:npm install gulp-less --save-dev
3.2.2、-g:全局安装。将会安装在C:\Users\Administrator\AppData\Roaming\npm,并且写⼊系统环境变量;⾮全局安装:将会安装在当前定位⽬录;全局安装可以通过命令⾏在任何地⽅调⽤它,本地安装将安装在定位⽬录的node_modules⽂件夹下,通过require()调⽤;
ES6 可以直接使⽤ import 调⽤,前提安装以下包
(1) cnpm i babel-core babel-loader@7 babel-plugin-transform-runtime -D  (需要指定版本,babel官⽹指定说明的)
(2) cnpm i babel-preset-env babel-preset-stage-0 -D
3.2.3、--save:将保存配置信息⾄package.json(package.json是);
3.2.4、-dev:保存⾄package.json的devDependencies节点,不指定-dev将保存⾄dependencies节点;⼀般保存在dependencies的像这些express/ejs/body-parser等等。
3.2.5、为什么要保存⾄package.json?因为node插件包相对来说⾮常庞⼤,所以不加⼊版本管理,将配置信息写⼊package.json并将其加⼊版本管理,其他开发者对应下载即可(命令提⽰符执⾏npm install,则会根据package.json下载所有需要的包,npm install --production只
下载dependencies节点的包)。
3.3、使⽤npm卸载插件:npm uninstall <name> [-g] [--save-dev]  PS:不要直接删除本地插件包
3.3.1、删除全部插件:npm uninstall gulp-less gulp-uglify gulp-concat ……太⿇烦
3.3.2、借助rimraf:npm install rimraf -g ⽤法:rimraf node_modules
3.4、使⽤npm更新插件:npm update <name> [-g] [--save-dev]
3.4.1、更新全部插件:npm update [--save-dev]
3.5、查看npm帮助:npm help
3.6、当前⽬录已安装插件:npm list
4、选装cnpm
4.1、说明:因为npm安装插件是从国外服务器下载,受⽹络影响⼤,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队⼲了这事。32个赞!来⾃官⽹:“这是⼀个完整 镜像,你可以⽤此代替官⽅版本(只读),同步频率⽬前为 10分钟⼀次以保证尽量与官⽅服务同步。”;
注:cnpm跟npm⽤法完全⼀致,只是在执⾏命令时将npm改为cnpm(以下操作将以cnpm代替npm)。
6、新建package.json⽂件
6.1、说明:package.json是基于nodejs项⽬必不可少的配置⽂件,它是存放在项⽬根⽬录的普通json⽂件;
6.2、它是这样⼀个json⽂件(注意:json⽂件内是不能写注释的,⽽且必须是双引号,复制下列内容请删除注释):
{
"name": "test",  //项⽬名称(必须)
"version": "1.0.0",  //项⽬版本(必须)
"description": "This is for study webpack project !",  //项⽬描述(必须)
"homepage": "",  //项⽬主页
"repository": {    //项⽬资源库
"type": "git",
"url": "xxx/xxxx"
},
"author": {    //项⽬作者信息
"name": "....",
"email": "....@qq"
},
"license": "ISC",    //项⽬许可协议
"devDependencies": {    //项⽬依赖的插件
}
}
6.3、当然我们可以⼿动新建这个配置⽂件,但是作为⼀名有志青年,我们应该使⽤更为效率的⽅法:命令提⽰符执⾏cnpm init -y
6.4、查看package.json帮助⽂档,命令提⽰符执⾏cnpm help package.json
特别注意:package.json是⼀个普通json⽂件,所以不能添加任何注释。
⼩Tips: npm 安装 -D 和-S的区别
1、-D 是在开发环境中协助开发需要使⽤的
2、-S是⽣产环境打包时需要的
3、在package.json中 -D在devDependencies对象中,-S在dependencies对象中
---------------------------------------------------------分割线---------------------------------------------------
查资料总结不易,觉得好可以关注,后续还有继续推⽂噢,原创,引⽤请注明地址

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。