包的作用和基本指令

本文详细介绍Node.js中的模块分类,包括内置、自定义及第三方模块,并深入探讨第三方包的作用、安装、卸载流程,以及如何高效管理项目依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

node js中的第三方模块叫做包,包一般是由第三方个人或者团队开发出来的,免费供个人使用。
node JS分为三个模块:
内置模块:自带的模块
自定义模块 :用户自己编写的模块
第三方模块:第三方的模块,需要使用先要下载导入
包的作用:
1node js的模块只提供底层API 导致在项目开发时,效率很低。
2 包是基于内置模块封装的,提供了更高级,更方便的APi,极大的提高了开发效率。
3 包和内置模块的关系,类似与JQuery和浏览器内置API之间的关系
安装包
npm install 包名 简写 npm i
node_modules 和 pageage-lock.json 的作用

初次装包完成后,在项目文件夹下多一个叫做 node_modules 的文件夹和 package-lock.json 的配置文件,他们的作用是:

  1. node_modules 文件夹用来存放所有已安装到项目中的包。require() 导入第三方包时,就是从这个目录中查找并加载包
  2. package-lock.json 配置文件用来记录 node_modules 目录下的每一个包的下载信息,例如包的名字、版本号、下载地址等
    4 安装指定版本的包

默认情况下,使用 npm install 命令安装包的时候,会自动安装最新版本的包。如果需要安装指定版本的包,可以在包名之后,通过 @符号指定具体的版本,例如:npm i moment@2.22.2
包的语义化:包的版本是点分十进制 例如上面的2.22.2 第一个是大版本,一般是底层有太大的改动才升级,第二个功能版本,一般几个功能改动才升级,第三个bug版本,修复bug升级。
package.json

多人开发的时候,不用去上传 node_modules 因为这里面的东西太多了
npm init -y 快速生成 package.json 文件
dependencies 节点记录项目的依赖

导入一个项目之后,需要下载所有的依赖的话,直接输入命令 npm i 就好,自动去找 package.json 文件里面的依赖去进行下载
卸载包

npm uninstall 包名

如果我们全局安装,会在以下文件目录下:
C:\Users\用户名\AppData\Roaming\npm
devDependencies 于 dependencies 区别

devDependencies: 只在开发阶段需要用到的话放在这个里面
dependencies: 上线了之后也需要用到的放在这个里面

解决下包慢的问题

利用 nrm 工具

  • 全局安装nrm
    npm i nrm -g
  • 查看可用的源
    nrm ls
  • 切换到淘宝镜像源
    nrm use taobao
    利用npm的命令 npm i 包名

如何解决网络慢的问题

切换成淘宝的镜像
利用的 nrm 工具

  • 下载安装nrm
    npm i nrm -g
  • 查询可用源的列表
    nrm ls
  • 切换淘宝镜像源
    nrm use taobao

一旦下载之后就会生成 node_modeules 文件夹

 存放的就是下载的第三方的包

生成 package-lock.json

 依赖对应的一些信息

配置文件 package.json

 如何生成? npm init -y  
 dependencies: 项目开发和上线之后都需要依赖的包  
   npm i 包名
 devDependencies: 项目开发阶段需要依赖的包,但是项目上线之后不需要了  
   npm i 包名 -D(--sava -dev)

包的分类

  • 项目包
    • 开发依赖包 npm i 包名 -D
    • 核心依赖包 dependencies 这个节点下的
  • 全局包
    npm i 包名 -g
    npm uninstall 包名 -g 删除全局包
    工具性质的才会做成全局包

i5ting_toc

帮我们把 md 文件转成 html文件
npm i i5ting_toc -g
i5ting_toc -f md文件地址 -o
私下可以去玩一下

开发自己的第三方包

  • 初始化结构

    • 生成一个 package.json 文件
    • 创建了入口文件 index.js
    • 创建了一个 readme 的说明文档
  • 初始化了项目配置文件里面的属性

    • name 包名
    • version 版本号
    • main 入口文件
    • description: 描述信息
    • keywords 关键字 用于用户搜索
    • license 遵循的协议 固定的协议 ISC

npm 登录

终端进行命令的登录

  • 确保我们下包服务器是npm官网的 registry.npmjs.org,如果不是 进行切换
  • npm login
  • 输入相关 用户名 密码 邮箱

npm发包

  • 排重,在npm官网上搜索以下名称
  • npm publish 在当前包的根目录

删除npm发布的包

  • npm unpublish 包名 --force
    注意: 删除72小时之内的包 ,删除之后当前名称的包要过24小时才能重新发布

更新包

  • 在package.json 里面修改 version 版本号
  • 输入命令 npm publish 就可以了

模块加载机制

模块第一次加载完后会在内存中,后面再次去require的话先从缓存中找
模块在第一次加载的时候才会执行模块里面的代码
内置模块的加载优先级高于第三方的 如果名字相同,先加载内置模块的

自定义模块加载机制

  • 先会切确比对
  • 比对 .js 文件
  • 比对 .json 文件
  • 比对 .node
  • 进行报错
    一些常见的就是这些。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值