文章目录
前言
开发一个项目需要依赖很多的package,如果每个依赖都需要开发者从这些package的官网下载下来,将会是非常繁琐和浪费时间的。因此人们开发了包管理器,例如apt-get、pip、grandle、homebrew、npm等等。以下内容记录了本次npm的学习过程。
一、npm是什么
要知道npm是什么,首先得认识Node.js。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,开发者可以使用Node.js很简单地搭建一个前端项目,而不需要搭建servlet等一系列的后端环境。(浅见,node.js大概不单只有这个作用)
而npm就是Node.js的包管理工具,开发者可以通过npm下载项目所需的依赖。
二、如何用npm管理项目
1.安装Node.js
安装Node.js时会顺带安装npm。从Node.js官网下载对应平台的安装程序。打开终端,输入node -v
和npm -v
,出现版本号表示安装成功。
node -v
v16.14.0
npm -v
8.3.1
2.创建项目目录
mkdir npm-learning
cd npm-learning/
3.创建Git本地仓库
git init
4.初始化项目依赖文件
执行以下命令后,会创建一个packages.json
文件,用于管理项目内所需要的包。
npm init
(执行命令后一直按回车就👌。)
5.将packages.json传到本地仓
git add .
git commit -m "init npm"
以下是初始化后packages.json
的内容:
6.使用npm下载依赖
使用npm下载依赖有三种模式:
npm install <package>
npm install <package> --save
npm install <package> --save-dev
第一种和其他两种区别在于其不会修改package.json
,而后两者会将依赖添加进package.json
。
--save-dev
是指开发时依赖,运行项目时不需要用到,例如:jest(测试框架)。
--save
是指运行时依赖,指向运行项目的时候必须依赖的包,例如:lodash(js工具库)。
7.关于依赖包的版本记录
在执行完npm install <package> (--save/--save-dev)
后,packjson.json会记录该依赖包在项目里需要的最低版本号;其次会生成一个packjson-lock.json
文件,该文件记录项目里下载的依赖包的具体版本。
日后需要重新安装项目时,执行npm install
,项目会先依照packjson-lock.json
下载具体版本的package。
如果packjson.json
与packjson-lock.json
中package的版本号有冲突时,会优先选择packjson.json
里的版本进行下载,重新生成依赖关系。
因此,packjson-lock.json
需要被提交到git仓,以便团队使用同一种版本依赖。
8.更新和删除版本依赖
npm update <package> // 更新包
npm uninstall <package> // 删除包
以上操作后packjson.json
与packjson-lock.json
会随之更改。
9.忽略本地idea配置及本地依赖包
- .idea目录的文件存储本地项目的详细配置,一般不需要上传到团队的git仓。
- node_modules目录存储着下载到本地的依赖包,体积太大,不需要上传到git仓。
可以通过往.gitignore文件添加该目录名称来实现。
vi .gitignore
修改后.gitignore内容如下:
.idea
node_modules
三、发布项目到NPM Register的流程
1.注册NPM用户
2.依据NPM的标准开发自己的js库
3.确定自己的库是public/private
4.命令行发布/撤销发布
npm publish/unpublish
5.在NPM网站检查是否发布成功