NPM
npm 是 NodeJS 安装包自带的包管理工具,用于安装、卸载、更新、管理需要的第三方模块
国内下载第三方包的速度比较慢,所以安装好 NodeJS 后首先应该更换源地址,推荐使用淘宝的镜像源
临时使用:npm --registry https://registry.npm.taobao.org install packageName
永久更换:npm config set registry https://registry.npm.taobao.org
也可以使用第三方包nrm
进行切换
nrm ls
:显示可用的源列表nrm use npmName
:使用指定的源
初始化
进入项目根目录后,执行npm init
会在项目根目录中引导创建一个package.json
文件,用于记录该项目依赖的第三方包
当项目迁移或上线时,可以删除node_module
文件夹,在新环境中使用npm install
就可以根据package.json
自动安装项目依赖的所有第三方包。
如果是上线生产环境,建议使用--production
参数,只安装dependencies
字段中的依赖包
在初始化之前可以设置一些初始化的默认值:
npm set init.author.email “xxx@xxx.com”
npm set init.author.name “xxx”
npm set init.license “MIT”
安装包
npm 安装第三方包时默认安装到当前项目下的node_module
文件夹下,使用-g
参数可以全局安装
一般推荐将命令行工具进行全局安装,项目依赖的包进行项目局部安装
npm install packageName
:默认会下载最新版本的包
npm install packageName@x.x.x
:安装指定版本的包
在package.json
中项目对模块的依赖有以下四种,以 1.1.0 版本为例:
- 精确版本:1.1.0,表示只能使用 1.1.0 版。使用
--save-exact
或者-E
参数 - 兼容模块新发布的补丁版本:~1.1.0,表示可以使用 1.1.x 任意版本
- 兼容模块新发布的小版本:^1.1.0,表示可以使用 1.x.x 任意版本
- 兼容模块新发布的大版本:*,表示可以使用任意版本
在package.json
中一般有三个字段用于区分项目依赖的作用
dependencies
:生产依赖,即项目运行所依赖的第三方包。安装时使用--save
或-S
devDependencies
:开发依赖,即项目开发时需要使用辅助开发的第三方包,但生产环境不需要。安装时使用--save-dev
或-D
optionalDependencies
:可选依赖。安装时使用--save-optional
或-O
卸载包
npm uninstall packageName
:用于卸载已经安装的第三方包
-g
:表示全局卸载
-S/-D/-O
分别表示卸载指定依赖作用的包,同时会从package.json
中删除对于的包版本信息
更新
检查是否有更新:npm outdated
更新:npm update [-g]
其他
查看已安装的包:npm ls [-g]
查看 node_modules 的路径:npm root [-g]
清理缓存:npm cache clean
查看模块的依赖信息 | 源文件地址 | 贡献者信息:npm view packageName [dependencies | repository.url | contriburors ] |
Yarn
Yarn 是由 Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 ,正如官方文档中写的,Yarn 是为了弥补 npm 的一些缺陷而出现的
npm 中对第三方依赖包的版本控制并不精确,从上面的说明中可以看到 npm 安装依赖包时版本的不确定性,而 yarn 正解决了这个问题,以及一些其他问题,但 npm 正在弥补这些问题
yarn 需要单独下载安装包进行安装
相对来说 yarn 的基础使用更加简洁
初始化:yarn init
安装包:yarn [add] packageName[@version] [--dev | --optional]
更新包:yarn upgrade [packageName]
不跟包名默认更新全部
移除包:yarn remove [packageName]
安装项目全部依赖:yarn
或yarn install