Skip to content
本页目录

npm

NPM: Node Package Manager。官方链接: https://www.npmjs.com/

一. npm使用

1. 安装npm

安装 Node 自动安装 npm

通过 npm -v 查看版本号, 显示版本号则表示安装成功

2. 初始化包

  • 创建一个空的目录, 以此作为工作目录, 启动命令行工具
  • 执行npm init 该命令会为该文件夹初始化一个包, 创建package.json文件(包的配置文件)

package.json

json
{
  "name": "1-npm", #包的名字
  "version": "1.0.0", #包的版本
  "description": "", #包的描述
  "main": "index.js", #包的入口文件
  "scripts": { #脚本配置
  "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "", #作者
  "license": "ISC" #开源证书
}

初始化注意事项

  1. name 不能使用中文、大写
  2. version 格式为 x.x.x, x必须为数字, 默认为 1.0.0
  3. ISC 证书 MIT 证书功能上相同, 关于开源证书拓展阅读http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
  4. package.json 可以手动创建和修改
  5. npm init -ynpm init --yes 极速创建 package.json

3. 下载安装包

shell
npm install [package]
npm i [package]

运行之后文件夹下会增加两个资源

  • node_modules 存放下载的包
  • package.lock.json 包的锁文件, 用来锁定包的版本

4. require 导入 npm 包基本流程

  1. 在当前文件夹下node_modules中寻找同名的文件夹
  2. 在上级目录下node_modules寻找同名的文件夹, 直到找到磁盘根目录

5. 生产环境与开发环境

类型命令补充
生产依赖npm i -S xx / npm i -save xx-s 等效于 -save, -s是默认选项, 包信息保存在package.jsondependencies属性中
开发依赖npm i -D xx / npm i --save-dev xx-D 等效于 --save-dev 包信息保存在package.jsondevDependencies属性

6. 全局安装

  • 全局安装
shell
npm i -g nodemon
  • 查看全局安装包位置
shell
npm root -g

7. 安装包依赖

shell
npm i 
npm install

8. 安装指定包

shell
npm i <包名@版本>
npm i jquery@1.11.2

9. 删除依赖

shell
## 局部删除
npm remove uniq
npm r uniq
## 全局删除
npm remove -g nodemon

10. 配置命令别名

配置package.json中的script属性

json
{
  "script": {
    "server": "node server.js",
    "start": "node index.js"
  }
}

二、cnpm

淘宝构建的npmjs.com完整镜像, 网址: https://npmmirror.com/

cnpm部署在阿里云服务器, 可以提高下载速度

1. 安装

shell
npm install -g cnpm --registry=https://registry.npmmirror.com

2. 命令

shell
# 初始化
cnpm init
# 安装包
cnpm i uniq
cnpm i -S uniq
cnpm i -D uniq
cnpm i -g nodemon
# 安装项目依赖
cnpm i
# 删除
cnpm r uniq

3. npm 配置淘宝镜像

  • 直接配置
shell
npm config set registry https://registry.npmmirror.com/
  • 工具配置
  1. 安装nrm
shell
npm i -g nrm
  1. 修改镜像
shell
nrm use taobao
  1. 检查是否配置成功
shell
npm config list

检查registry地址为https://registry.npmmirror.com/

三、yarn

yarnFacebook 在2016年推出新的JavaScript包管理工具, 官方网址为 https://yarnpkg.com/

特点:

  • 速度超快: yarn缓存每个下载过的包, 再次使用时无需重复下载, 同时利用并行下载以最大化资源利用率
  • 超级安全: 在执行代码前, yarn会通过算法校验每个安装包的完整性
  • 超级可靠: 使用详细、简洁的锁文件格式和明确的安装算法, yarn能够保证在不同系统上无差异的工作

1. 安装

shell
npm i -g yarn

2. 命令

shell
# 初始化
yarn init 
yarn init -y
# 安装包
## 生产依赖
yarn add uniq
## 开发依赖
yarn add less --dev
## 全局安装
yarn global add nodemon
# 删除包
## 删除项目依赖包
yarn remove uniq
## 全局删除包
yarn global remove nodemon
# 运行命令别名
yarn <>

3. yarn 配置淘宝镜像

  • 配置淘宝镜像
shell
yarn config set registry https://registry.npmmirror.com/
  • 查看配置项
shell
yarn config list

4. npm 和 yarn 选择

  • 通过锁文件判断项目包管理工具
    • npm 锁文件 package.lock.json
    • yarn 锁文件 yarn.lock
  • 包管理工具不要混着用!

四、管理发布包

1. 创建与发布

  1. 创建文件夹, 创建文件index.js, 在文件中声明函数, 使用module.exports暴露
  2. npm 初始化工具包, package.json填写包信息
  3. 注册账号 https://www.npmjs.com/signup
  4. 激活账号
  5. 修改为官方镜像 nrm use npm
  6. 命令行下 npm login 填写相关用户信息
  7. 命令行下 npm publish 提交包

2. 更新包

  1. 更新包中的代码
  2. 测试代码是否可用
  3. 修改package.json中的版本号
  4. 发布更新 npm publish

3. 删除包

npm unpublish --force

注意事项

删除包需要满足一定的条件,https://docs.npmjs.com/policies/unpublish

  • 你是包作者
  • 发布小于24小时
  • 大于24小时, 没有其他包依赖, 并且每周小于300下载量, 并且只有一个维护者

五、nvm

nvm 用来管理node版本工具, 方便切换不同版本

1. 安装

下载nvm, 下载地址为 https://github.com/coreybutler/nvm-windows/releases

选择nvm-setup.exe下载即可

2. 命令

shell
# 查看所有可下载的 Node.js 版本
nvm list available
# 查看已安装的版本
nvm list
# 安装指定版本
nvm install 18.12.1
# 安装最新版的 Node.js
nvm install latest
# 删除某个版本的 Node.js
nvm uninstall 18.12.1
# 切换版本
nvm use 18.12.1