0%

Node和NPM笔记

Node

NodeJS是开源的JavaScript运行环境。

安装方式:NodeJS官网下载压缩包,解压,配置环境变量即可

NPM

NPM(Node Package Manager):NodeJS的包管理工具和服务,已被GitHub收购。

使用方法参考NPM中文文档或者npm help

  • -g:表示全局安装,默认只安装到当前目录的node_modules中
  • –save:安装组件,并添加到package.json中的dependencies,即运行中需要用到的包,默认开启
  • –save-dev:安装组件,并添加到package.json中的devDependencies,即开发和编译时需要用到的包
  • –no-save:只安装组件,不保存

配置镜像加速

如果npm下载较慢,可以设置淘宝国内镜像,有几种方式

  1. 永久使用:npm config set registry https://registry.npm.taobao.org
  2. 临时使用:npm --registry https://registry.npm.taobao.org
  3. 可保存配置: 编辑.npmrc文件,加入registry = https://registry.npm.taobao.org
  4. 使用cnpm替代npm命令:npm install -g cnpm --registry=https://registry.npm.taobao.orgcnpm install -g hexo-cli

配置成功后可通过npm config get registry命令验证是否成功

使用n管理node版本

在使用hexo和gitbook-cli的时候,由于gitbook-cli不再维护,只能使用旧版本node,而hexo需要新版本node,无法共存,因此使用n管理node版本。

使用hexo时切换到n node/14.17.6,使用gitbook-cli时切换到n node/10.24.0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装node管理工具
$ npm install n -g
# 安装新版本node
$ n stable
$ n latest
# 检查安装了哪些版本node
$ n list
node/10.24.0
node/12.22.1
node/14.17.6
# 切换版本
n <版本号>
# 删除版本
$ n rm <版本号>

npm包版本规则

范围语法:版本号表示[major, minor, patch][大版本, 小版本, 补丁版本]

  1. -:匹配两个版本之间的范围。X.Y.Z - A.B.C表示版本号X.Y.Z <= version <= A.B.C
    • 省略的版本位只需要满足开头部分:如1.2 - 2.3表示1.2.0 <= version < 2.4.0。即匹配1.22.3开头的版本
  2. *或者Xx:通配符,表示该位可以是任意版本。也可以省略不写
    • *:表示>=0.0.0,即任意版本。"*" == ""
    • 1.x:表示1.0.0 <= version < 2.0.0,即只匹配major位,minor和patch位可以是任意版本。"1.x" == "1"
  3. ~:如果指定了次要版本,则允许更新补丁版本,次要版本号不变。如果没有指定次要版本,则允许次要版本更改
    • ~1.2.3:表示1.2.3 <= version < 1.3.0
    • ~1.2:表示1.2.0 <= version < 1.3.0
    • ~0.2.3:表示0.2.3 <= version < 0.3.0
    • ~0:表示0.0.0 <= version < 1.0.0。(允许次要版本更改)
    • ~1:表示1.0.0 <= version < 2.0.0。(允许次要版本更改)
  4. ^:不会修改最左侧的第一个非0数字。第一个非0位后边才可修改。
    • ^1.2.3:表示1.2.3 <= version < 2.0.0。第一个非0位是大版本,大版本不变,允许更新小版本和次要版本
    • ^0.2.3:表示0.2.3 <= version < 0.3.0。第一个非0位是小版本,小版本不变,允许更新补丁版本
    • ^0.0.3:表示0.0.3 <= version < 0.0.4。第一个非0位是补丁版本,补丁版本不变,可能有beta版本,如0.0.3-beta

结语

参考资料:npm依赖包版本说明

欢迎关注我的其它发布渠道