说明
npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等),npm已经在Node.js安装的时候顺带装好了、
安装插件
npm install[-g] [--save-dev];
例子:
npm install gulp-less --save-dev
通过-g来控制是否全局安装:
全局安装。将会安装在C:\Users\Administrator\AppData\Roaming\npm,并且写入系统环境变量;
- 非全局安装:将会安装在当前定位目录;全局安装可以通过命令行在任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,通过require()调用;
通过--save-dev控制插件是记录到package.json,以及记录到什么位置
--save(-S)指明将插件信息记录到package.json的dependencies字段
--save-dev(-D)指明将插件信息记录到package.json的devDependencies字段,
devDependencies里面的插件只用于开发环境,不用于生产环境,而dependencies是需要发布到生产环境的。
package.json
为什么要保存至package.json?因为node插件包相对来说非常庞大,将配置信息写入package.json并将更新devDependencies值,以表明项目需要依赖gulp,Dependencies的值 可以向其他参与项目的人指明项目在开发环境和生产环境中的node模块依懒关,其他开发者对应下载即可
使用npm卸载插件
npm uninstall[-g] [--save-dev]
PS:不要直接删除本地插件包
删除指定插件:
npm uninstall gulp-less gulp-uglify gulp-concat
删除全部插件: 借助rimraf:
npm install rimraf -g rimraf node_modules
使用npm更新插件:
npm update[-g] [--save-dev]//更新指定插件 npm update [--save-dev]//更新全部插件
当前目录已安装模块;
npm list npm list –depth 1 // 查看以及模块
cnpm
因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,所以淘宝团队干了这事。来自官网
这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
官网
安装
npm install cnpm -g --registry=https://registry.npm.taobao.org
注意:安装完后最好查看其版本号cnpm-v或关闭命令提示符重新打开,安装完直接使用有可能会出现错误;cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm;
// 使用 cnpm install express
直接使用npm注册淘宝镜像
npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm.taobao.org/mirrors/node // 配置后可通过下面方式来验证是否成功 npm config get registry // 或 npm info express
在测评系统中,使用npm和cnpm安装各插件,最后使用webpack2.2.1打包的文件大小相差很大,所以cnpm和npm还有一些未知的差别,所以推荐使用npm安装插件,但是安装源改为淘宝
删除淘宝镜像
npm config delete registry npm config delete disturl // 或者 npm config edit // 找到淘宝那两行,删除