npm (node package manager) node 的包管理器

https://www.npmjs.com/

包的那几个方面

1.下载包

  1. 本地下载
  2. 1>开发依赖 devDependencies
  3. npm install 包名 --save-dev
  4. 简写
  5. npm i 包名 -D
  6. 2>线上依赖 dependencies
  7. npm install 包名 --save
  8. 简写
  9. npm i 包名 -S
  10. 全局下载 在任意地方都需要使用的命令,webpack gulp vue create-react-app ....
  11. npm install/i 包名 -g
  12. 下载指定版本的包
  13. npm i 包名@版本号 -D/-S

2.卸载包

  1. 本地卸载
  2. 1>开发依赖 devDependencies
  3. npm uninstall 包名 --save-dev/-D
  4. 2>线上依赖 dependencies
  5. npm uninstall 包名 --save/-S
  6. 全局卸载
  7. npm uninstall 包名 -g

3.更新包

  1. npm update 包名 -D/-S/-g

4.使用包

  1. require(模块标识) :默认查找的是module.exports 抛出的模块
  2. exports 抛出模块 module.exports 的一个别名 exports 是不能直接赋值的,需要以属性的
  3. 形式去抛出方法或属性
  4. 模块标识:包名和路径 路径:绝对路径和相对路径
  5. 绝对路径:相对盘,域名 /
  6. 相对路径: ./ ../ ../../

5.查看全局包路径

  1. npm root -g

package.json 包描述文件

生成一个package.json文件 npm init /npm init -y 快速生成

  1. {
  2. "name": "npm-demo", //包名
  3. "version": "1.0.0", //版本号
  4. "description": "", //描述
  5. "main": "index.js", //入口文件
  6. "scripts": { //命令
  7. "test": "echo "Error: no test specified" && exit 1"
  8. },
  9. "author": "", //作者
  10. "license": "ISC",
  11. "dependencies": {
  12. "swiper": "^6.6.1" //是一个范围 swiper 升级到7.0.0
  13. }
  14. }

package-lock.json :锁定版本号和下载的镜像源

镜像源

国外的镜像源

https://registry.npmjs.org

国内镜像源

https://registry.npm.taobao.org

  1. npm config set registry https://registry.npm.taobao.orgs
  2. npm config get registry 查看镜像源地址

包的查找规则

1.node_modules 文件

先在当前文件夹下查找 —-> 往上一级找 ——>…. —->磁盘根目录—->全局里 NODE_PATH 指定的路径里查找

2.在node_modules文件夹查找对应包名的文件 —-> package.json文件 —-> main主入口文件

报 can not find modules xxx

发布包

1.新建一个文件夹,生成一个package.json文件

2.确保当前是在国外镜像源

3.编写包的逻辑,抛出外界的需要的接口

4.登录npm官网,发布

  1. npm login :输入用户名和密码邮箱
  2. npm publish :发包

:包名不能和现有的包名冲突

  1. npm unpublish 包名 --force 强制从npm的官网上删除包