目录
包是什么
【包】package:代表了一组特定功能的代码集合,很多编程语言都有包管理工具。
包管理工具
管理【包】的应用软件,可以对【包】进行下载、安装、更新、卸载等操作,借助包管理工具,可以快速开发项目。
常用的包管理工具
常见前端包管理工具:npm、yarn、cnpm
npm
npm即Node Package Manager,译为【Node的包管理工具】,npm是Node.js官方内置的包管理工具。
npm安装
Node.js在安装时会自动安装npm
npm的基本使用
初始化
创建一个空目录,然后以此目录为工作目录启动命令行工具,执行npm init,npm init命令的作用是将文件夹初始化为一个【包】,交互式创建package,json文件,package.json是包的配置文件,每个包都必须要有package.json。
package.json内容如下:
(一)直接输出cmd
(二)再输入npm init
初始化注意事项
1.package name(包名)不能使用中文,大写,默认值是文件夹的名称,所以文件夹名称也必要使用中文和大写。
2.version(版本号)要求x.x.x的形式定义,x必须是数字,默认1.0.0
3.package.json可以手动创建和修改
4.使用npm init -y 或者npm init --yes可以快速创建package.json
搜索包
1.命令行:【npm s/search 关键字】
2.网站搜索:https://www.npmjs.com/
下载安装包
通过npm install 和 npm i 命令安装包,示例:
(一)npm install <包名>
(二)npm i <包名>
运行后文件夹会增加两个资源:
1.node_modules:文件夹存放下载的包
2.package-lock.json:包的锁文件,用来锁定包的版本
创建包A,A中安装了包的名字是B,那么B是A 的一个依赖包,也说A依赖B。
requiire导包基本流程
(一)在当前文件夹下node_modules中寻找同名的文件夹
(二)在上级目录中下的node_modules中寻找同名的文件夹,直到找到磁盘根目录
开发依赖与生产依赖
生产依赖 | npm i -S/--save uniq | -S等效于--save,-S是默认选项;包信息保存在package.json中的depemdencies属性 |
开发依赖 | npm i -D/--save-dev uniq | -D等效于--save-dev;包信息保存在package.json中,devDependevcies属性 |
开发环境
程序员专门用来写代码的环境,一般是指程序员的电脑,开发环境的项目一般只能程序员自己访问
生产环境
项目代码正式运行的环境,一般指正式的服务器电脑,生产环境的项目一般每个客户都可以访问
npm全局安装
可以执行npm i -g <包名>全局安装,全局安装的命令不受工作目录位置的影响,可以通过npm root -g查看全局安装包的位置,不是所有的包都适合全局安装,只有全局类的工具才适合,可以通过查看包的官方文档来确定安装方式。
npm安装包的全部依赖
在项目协作中有一个常用的命令就是npm i,通过该命令可以依据package.json和package-lock.json的依赖声明安装项目依赖。
npm i
npm install
node_modules文件夹大多数情况下都不会存入版本库
npm安装指定版本和删除包
安装
npm i <包名@版本号>
删除
npm remove <包名>
npm r <包名>
全局删除:npm remove -g <包名>
npm配置命令别名
配置package.json中的script属性:
配置完成之后,可以使用别名执行命令
npm run server(此处未配,run不可省)
npm run start(run可以省略)
补充说明:npm start是项目中常用的一个命令,一般用来启动命令,npm run有自动向上级目录寻找到的特性,跟requrire函数一样
cnpm
cnpm是一个淘宝构建的npmjs.com的完整镜像,即淘宝镜像。网站:https://npmmirror.com/,cnpm服务部署在国内阿里云服务器上,可以提高包的下载速度。官方也提供了一个全局工具包cnpm,操作命令与npm大体一样。
安装
通过npm安装cnpm工具
npm install -g cnpm --registry=https://registry.npmmirror.com
操作命令
初始化 | cnpm init |
安装包 | cnpm i uniq |
安装项目依赖 | cnpm i |
删除 | cnpm r uniq |
npm配置淘宝镜像
直接配置
npm config set registry https://registry.npmnirrir.com/
工具配置
使用nrm配置npm镜像地址:npm registry manager
1.安装nrm: npm i -g nrm
2.修改镜像:nrm use taobao
3.检查是否配置成功:npm config list
检查registry地址是否为https://registry.npmmirror.com/,如果是,则代表配置成功。
通过nrm ls命令可以查看地址
yarn
官网:https://yarnpkg.com/
锁文件为yarn.lock
特点
速度快:yarn缓存了每个下载过的包,所以再次使用时候无需下载,同时利用并行下载以最大化资源利用率。
安全:在执行代码之前,yarn会通过算法校验每个安装包的完整性。
可靠:使用详细、简洁的锁文件格式和明确的安装算法,yarn能够保证在不同系统上无差别工作。
安装
可以使用npm安装yarn: npm i -g yarn
常用命令
初始化 | yarn init / yarn init -y |
安装包 | yarn add uniq 生产依赖 yarn add less --dev 开发依赖 yarn global add nodemon 全局安装 |
删除包 | yarn remove uniq 删除项目依赖包 yarn global remove nodemon 全局删除 |
安装项目依赖 | yarn |
运行命令别名 | yarn<别名> 不需要添加run |
管理发布包
1.创建文件夹,并创建index.js,在文件中声明函数,使用module.exports暴露
2.npm初始化工具包,package.json填写包的信息
3.注https://www.npmjs.com/signup)
4.激活账号
5.修改为官方镜像
6.命令行下npm login 填写相关用户信息
7.命令行下npm publish提交包
更新包
1.更新包中代码
2.测试代码
3.修改package.json版本号
4.发布更新 npm publish
删除
执行命令:npm unpublish
nvm
简介
nvm全称Node Version Manager 用来管理node版本的工具,方便切换不同版本的Node.js。
下载安装
下载地址:https://github.com/coreybutler/nvm-windows/releases,选择nvm-setup.exe下载即可
常用命令
nvm list available | 显示所有下载的Node.js版本 |
nvm list | 显示已安装的版本 |
nvm install latest | 安装最新版本 |
nvm install 18.11.2 | 安装18.11.2版本 |
nvm uninstall 18.11.2 | 卸载某个版本 |
nvm use 16.3.2 | 切换版本 |