1️⃣npm
npm是于Node社区中产生的,是nodejs的官方包管理工具。
1.1❀ 初始化项目
会生成package.json
npm init
1.2❀ 安装模块
npm install <模块名称>
npm install <模块名称> 等价 <模块名称>@latest
可以自定义模块版本号 如:<模块名称>@1.03.41
1.3❀ 本地安装和全局安装
默认本地安装,加 -g
表示全局安装
npm install <模块名称> -g
本地
- 模块被安装在当前目录的node_modules下
- 通过require(‘模块名’)导入本地模块
全局
- 模块安装在/usr/local/lib/node_modules目录或者安装Node.js的目录
- 可以直接在命令行使用
- 不可require(‘模块名’)引用
1.4❀ 镜像源
下载包太慢,试一下换国内镜像源
//淘宝镜像
npm config set registry https://registry.npm.taobao.org/
//还原官方镜像
npm config delete registry
官方镜像才是最新的资源库,且淘宝镜像不可使用publish和unpublish命令
1.5❀ 生产依赖和开发依赖
生产依赖:开发环境和生产环境都需要使用! --save
package.json->dependencies
开发依赖:开发环境使用! --save-dev
package.json->devDependencies
npm install <模块名称> --save
1.6❀ 其他npm命令
2️⃣解读package.json文件
package.json是Node.js软件包的元数据描述文件,一般由npm/yarn
命令创建,不需要手动维护。一个典型的package.json如下:
{
"name": "example",
"version": "1.0.0",
"description": "example Node.js package",
"main": "index.js",
"scripts": {
"test": "NODE ENV=test mocha -t 25000"
},
"repository": {
"type": "git",
"url": "git: //github. com/xxx/xxx.git"
},
"bugs": {
"url": "https: //github. com/xxx/issues"
},
"keywords": ["storage"],
"author": "xx@gmail. com",
"contributors": [],
"dependencies": {
"react": "^17.0.1"
},
"devDependencies": {
"webpack": "^5.10.3"
},
"license": "MIT"
}
2.1❀ package.json字段说明
字段名称 | 字段说明 |
---|---|
name | 软件包名称 |
version | 软件包版本 |
description | 软件包简介 |
main | 软件包入口 |
version | 软件包版本 |
scripts | 项目命令 |
repository | 仓库地址 |
bugs | bug反馈页面 |
keywords | 软件包关键字 |
author | 软件包作者 |
contributors | 软件包贡献者 |
dependencies | 生产依赖 |
devDependencies | 开发依赖 |
license | 开源协议 |
2.2❀ 版本号说明
NPM包使用语义化的版本号来管理代码,版本号格式为X.Y.Z,分别代表主版本号、次版本号和补丁版本号。当代码有修改时,需要按照以下规则执行版本号的变更:
- 只是修复bug,更新Z位。
- 只是新增功能,但是向下兼容(旧API不受影响),更新Y位。向下不兼容的改动,更新X位。
2.3❀ 常见的版本号限定符
在 package.json中会见到类似^0.1.0,~0.1.0,0.1.0和>0.1.0之类具有不同限定符的版本号
- ^0.1.0:支持0.1.0~1.0.0(不含)之内的所有版本。
- ~0.1.0:支持0.1.0 ~0.2.0(不含)之内的所有版本。
- 0.1.0:只能使用0.1.0版本
- >0.1.0: 支持大于等于0.1.0之后的所有版本
- *:任意版本