目录
一、常用的包管理工具
- npm
- yarn
- cnpm
二、npm(Node的包管理工具)
1. npm基本使用
1.1 初始化
{
"name": "test", #包名
"version": "1.0.0", #版本号
"description": "学习npm", #包的描述
"main": "index.js", #包的入口文件
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"serve": "node ./index.js"
},
"author": "test",
"license": "ISC", #开源证书
"dependencies": { #生产依赖
"jquery": "^3.6.4",
"uniq": "^1.0.1"
},
"devDependencies": { #开发依赖
"less": "^4.1.3"
}
}
注意:
- package.json是包的配置文件,每个包都必须有
- name不能使用中文、大写,默认值是文件夹名
- version 要求 x.x.x形式,默认1.0.0,x必须是数字
- package.json可以手动修改与创建
- npm init -y 或npm init -- yes快速创建
- npm i -g 全局安装,npm root -g查看全局安装包的位置,
- 安装指定版本的包 npm i 包名@版本号,删除依赖 npm r 包名/ npm remove 包名,删除全局依赖 npm r -g 包名
1.2 npm配置命令别名
在package.json的scripts 配置 "serve": "node ./index.js" 或 "start": "node ./index.js"
- npm start 别名使用时可省略 run,一般用于启动项目
- npm run 有自动向上级目录查找的特性,与require函数类似
1.3 require导入npm包基本流程
- 在当前文件夹下 node_modules中寻找同名包的文件夹
- 若找不到,则向上寻找,直至磁盘根目录
//导入依赖包
const uniq = require('uniq');
//导入文件夹
//const uniq = require('./node_modules/uniq');
//导入文件
const uniq = require('./node_modules/uniq/uniq.js');
//数组去重
let arr = [1, 1, 2, 2, 3, 5]
const result = uniq(arr);
console.log(result);
1.4 生产依赖和开发依赖
类型 | 命令 | 补充 |
---|---|---|
生产依赖 | npm i -S uniq npm i --save uniq | -S等效于--save, -S是默认选项 包信息保存在package.json 中的 dependencies 中 |
开发依赖 | npm i -D less npm i --save-dev less | -D 等效于 --save-dev 包信息保存在package.json 中的 devDependencies 中 |
1.5 window不支持全局安装
1. 通过修改windows执行策略来实现,以管理员身份运行Powershell
2. 命令行输入 set-ExecutionPolicy remoteSigned
2. yarn
npm i -g yarn
yarn init //初始化
yarn add jquery //下载生产依赖
yarn add less --dev //下载开发依赖
yarn global add nodemon //全局依赖
yarn remove jquery //删除依赖
yarn serve //运行别名不需要加run
yarn global bin //查看yarn全局安装包的位置
yarn config list //查看yarn的配置项
3. cnpm
淘宝镜像,cnpm服务部署在阿里服务器上,通过npm安装cnpm工具
win+r打开终端,安装cnpm工具
npm install -g cnpm
注意:
安装cnpm出现错误,所以记录一下我的解决方案。这篇博客包括nvm(nodejs版本管理工具,切换node版本)的安装级及全局环境配置,nrm(npm 源管理器,切换镜像)。
三、环境变量
快捷打开应用程序,需要配置环境变量
四、管理发布包
4.1 创建与发布
- package.json填写包名(唯一,且不能以test命名)
- 注册 https://www.npmjs.com/,并激活
- npm login前,修改官方镜像 nrm use npm
- npm publish 提交包
- npm i 包名
4.2 更新包
- 修改package.json的版本号
- 发布更新 npm publish
4.3 删除包
npm unpublish --force