npm的学习笔记

本文详述了npm的使用方法,包括如何通过npm管理项目依赖、创建Git仓库、初始化项目、下载和更新依赖,以及如何发布项目到NPM Register。重点介绍了npm的包版本记录和依赖管理策略,并提醒了.gitignore中应忽略的文件。最后,概述了在NPM上发布和撤销发布的流程。
摘要由CSDN通过智能技术生成


前言

开发一个项目需要依赖很多的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 -vnpm -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的内容:
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.jsonpackjson-lock.json中package的版本号有冲突时,会优先选择packjson.json里的版本进行下载,重新生成依赖关系。
因此,packjson-lock.json需要被提交到git仓,以便团队使用同一种版本依赖

8.更新和删除版本依赖

npm update <package>  // 更新包
npm uninstall <package>  // 删除包

以上操作后packjson.jsonpackjson-lock.json会随之更改。

9.忽略本地idea配置及本地依赖包

项目目录

  1. .idea目录的文件存储本地项目的详细配置,一般不需要上传到团队的git仓。
  2. 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网站检查是否发布成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值