npm学习记要
前言
npm是个前端js模块管理工具,类似maven里的pom.xml
安装npm
npm(node package manager,NPM是随同NodeJS一起安装的包管理工具,所以我们需要下载安装nodejs
下载地址,选择Windows Installer (.msi)版本安装。一路点next。
测试是否安装成功
在CMD命令行输入命令:
npm -v
有数据输出则表示安装成功
安装淘宝镜像
默认的镜像地址是:https://registry.npmjs.org/
,由于速度原因需要换成淘宝镜像
在CMD命令行执行如下命令:
npm config set registry http://registry.npm.taobao.org/
这时只是修改的镜像地址,命令还是使用npm
安装淘宝定制的 cnpm (gzip 压缩支持)
命令行工具:
npm install -g cnpm --registry=https://registry.npm.taobao.org"
以后就可以使用cnpm
代替npm
命令了
我们可以打开C:\Users\Administrator\.npmrc
文件,内容如下:
registry=http://registry.npm.taobao.org/
升级npm命令
由于npm自身的更新频率比Node.js高很多,所以通过上面的命令安装的npm可能不是最新版本
升级命令
npm install npm@latest -g
安装模块自动写入package.json命令
安装的模块分为两类
dependencies和devDependencies,分别对应生产环境需要的安装包和开发环境需要的安装包。
devDependencies开发依赖:npm install <package_name> --save-dev
dependencies生产依赖: npm install <package_name> --save
新安装的模块信息记录到package.json文件的dependencies和devDependencies依赖里。
如果安装带版本号的模块,需要在package_name后加@,例如[email protected]
版本
卸载模块自动删除package.json命令
普通的卸载命令:npm uninstall <package_name>
删除模块同时删除package.json里依赖如下
devDependencies开发依赖:npm uninstall --save
dependencies生产依赖:npm uninstall --save-dev
常用命令
帮助命令:npm help
查看帮助命令:npm help 命令(如install)
卸载模块:npm uninstall 模块名
更新模块:npm update 模块名
搜索模块:npm search 模块名
创建模块:npm init
创建默认配置package.json创建模块:npm init --yes
清空NPM本地缓存:npm cache clear
查看当前已经安装插件:npm list
查看当前哪些包需要更新:npm outdated --depth=0
上面命令都是本地安装后使用的命令,如果是全局安装,则在尾部加个-g
本地安装和全局安装
本地安装安装在当前目录的node_modules目录下,没有node_modules则创建。
全局安装安装在C:\Users\Administrator\AppData\Roaming\npm\node_modules
目录下,安装命令只差-g
,
本地安装:npm install express
全局安装:npm install express -g
ps 安装nodejs时同时安装了一些模块,位置在
C:\Program Files\nodejs\node_modules\npm\node_modules
修改npm配置
以全局下载目录为例,默认下载目录在C:\Users\Administrator\AppData\Roaming\npm\node_modules
,导致C盘变大,修改在D盘的D:\node_modules_global
路径下。
打开配置
npm config list
内容如下:
D:\tmp\vsCode\test>npm config list
; cli configs
metrics-registry = "http://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.1.0 node/v8.11.3 win32 x64"
; userconfig C:\Users\Administrator\.npmrc
registry = "http://registry.npm.taobao.org/"
; builtin config undefined
prefix = "C:\\Users\\Administrator\\AppData\\Roaming\\npm"
; node bin location = C:\Program Files\nodejs\node.exe
; cwd = D:\tmp\vsCode\test
; HOME = C:\Users\Administrator
; "npm config ls -l" to show all defaults.
prefix就是指定全局路径。
设置prefix:
npm config set prefix=D:/node_modules_global
查看prefix值:
npm config get prefix
再次打开C:\Users\Administrator\.npmrc
文件,内容如下:
registry=http://registry.npm.taobao.org/
prefix=D:/node_modules_global
package.json作用
package.json是描述模块依赖关系以及包地址的配置文件。由于管理模块。