nodejs笔记2 包管理 npm

2022-04-13 13:37:34 浏览数 (1)

即nodejs第三方模块

npm

包管理工具

切换包镜像源

淘宝源

npm config set registry=https://registry.npm.taobao.org/

nrm 镜像源管理工具

  • 安装

npm i nrm -g

  • 查看所有可用镜像源

nrm ls

  • 切换镜像源

nrm use taobao

i5ting_toc MD转HTML工具

  • 安装

npm i i5ting_toc -g

  • 使用

i5ting_toc -f readme.md -o

发布npm包

  • 登录npm

npm login

  • 发布

npm publish

  • 删除(只能删除72小时内发布的包,删除的包24小时内不允许重复发布)

npm unpublish pkgname --force

模块加载

require(module_name)

  • 优先加载缓存
  • 内置模块优先级最高,node_modules中有内置模块重名模块不会被加载
  • 加载自定义模块是必须指定以./或…/开头的路径,否则将当作内置模块或第三方模块加载
  • 自定义模块文件加载顺序:
  1. 确切文件名对应文件
  2. 补.js扩展名
  3. 补.js扩展名
  4. 补.node扩展名
  5. 报错
  • 如果模块标识符不是内置模块,也没有./或…/开头,则从当前模块的父目录开始,尝试从/node_modules文件夹加载第三方模块
  • 如果当前目录没有找到第三方模块,则移动到上一层目录查找/node_modules,直到根目录
  • 模块标识符是目录时加载顺序:
  1. 目录下查找package.json文件,寻找main属性作为加载入口
  2. 没有package.json,或main不存在,则尝试加载目录下index.js
  3. 没有index.js, 报错

package-lock.json

记录node_modules目录下每个包的下载信息(包名,版本,下载地址)

package.json

包管理配置文件

  • 项目基本信息(名称,版本,描述)
  • main(包的入口,通过require导入包时,自动导入main指向的js文件,因此自定义包时,需要通过入口js文件暴露其他js文件模块
  • 依赖的包(开发,部署各自所依赖的包)
  1. 创建包管理配置文件

npm init -y

  1. 安装包(自动下载包,并将包信息记录到package.json,如果只需要安装到开发环境,例如webpack,后面追加参数–save-dev)

npm install pkgname

  1. 一次性安装所有包(安装package.json中记录的所有包)

npm install

  1. 卸载包(自动删除package.json中依赖信息)

npm uninstall pkgname

0 人点赞