走进Node.js
前言
前面我们已经介绍了Node.js的 fs文件系统模块、path 路径模块、http 模块以及Node.js模块化
那么我们今天来了解一下什么是包。
一、包
1.包的定义
定义:
- Node.js 中的第三方模块又叫做包
- 不同于 Node.js 中的内置模块与自定义模块,包是由第三方个人或团队开发出来的,免费供所有人使用
- 由于 Node.js 的内置模块仅提供了一些底层的 API,导致在基于内置模块进行项目开发的时,效率很低
- 包是基于内置模块封装出来的,提供了更高级、更方便的 API,极大的提高了开发效率
- 包和内置模块之间的关系,类似于 jQuery 和 浏览器内置 API 之间的关系
2.包的使用
①包的查找地址
我们可以在浏览器中访问https://www.npmjs.com/,可以在里面查询我们所需要的包。
②包的下载地址
https://www.npmjs.com/
包的下载地址我们不能够直接访问,我们需要通过npm指令来下载
说明:
在下载node的同时也将npm下载了下来,可以在终端中用npm -v查看npm的版本,然后在下载包的时候可以在包的官网中查到如何下载包,如何使用包。
代码示例:
//*****包的下载*****
//在终端中(vs终端也可)@版本号可不加
npm install 完整的包名@版本号
//简写:
npm i 完整的包名
//*****包的使用******
//例:用moment实例化时间
//终端中
npm i moment
//代码区中
const moment = require('moment')
const dt = moment().format('YYYY-MM-DD HH:mm:ss')
console.log(dt)
3.包的管理配置文件
Q:为什么需要进行包的管理?
答: 团队开发中第三方的体积过大,因为联网即可下载第三方包,所以不需要将包也上传到项目中,而只用上传核心文件。
①创建包的配置文件
指令:
//创建packge.json
npm init -y
注意:
- 命令只能在英文且无空格的目录下运行
②包配置文件的作用
作用:
- 运行npm install命令安装包时,npm包管理工具会自动将包的名称和版本号,记录到package.json 的dependencies节点中
"dependencies": {
"moment": "^2.29.4"
}
③一次性安装所有需要的包及卸载包
一次性安装多种包
npm install // 可以一次性安装dependencies节点中所有的包
卸载包
npm uninstall 要卸载包的名称
④deDependencies节点
说明:
- 如果某些包只在项目开发阶段会用到,在项目上线之后不会用到,则建议把这些包记录到 devDependencies 节点中。
- 与之对应的,如果某些包在开发和项目上线之后都需要用到,则建议把这些包记录到 dependencies 节点中。
Q:如何将包记录到 devDependencies 节点中?
答:可使用如下的命令,将包记录到 devDependencies 节点中:
npm i 包名 -D
//完整写法如下
npm install 包名 --save-dev
⑤解决包下载慢的问题
为了更方便的切换下包的镜像源,我们可以安装 nrm 这个小工具,利用 nrm 提供的终端命令,可以快速查看和切换下包的镜像源
//将nrm安装为全局可用的工具
npm i nrm -g
//查看所有可用的镜像源
nrm ls
//将下包的镜像源切换为taobao 镜像
nrm use taobao
注:前面带 *
的就是目前我们所使用的镜像源
4.包的分类
①项目包
那些被安装到项目的 node_modules 目录中的包,都是项目包。
项目包分为以下两类:
- 开发依赖包(被记录到 devDependencies 节点中的包,只在开发期间会用到)
- 核心依赖包(被记录到 dependencies 节点中的包,在开发期间和项目上线之后都会用到)
npm i 包名 -D //开发依赖包(会被记录到devDependencies节点下)
npm i 包名 //核心依赖包(会被记录到dependencies节点下)
②全局包
- 在执行 npm install 命令时,如果提供了 -g 参数,则会把包安装为全局包
- 全局包会被安装到 C:\Users\用户目录\AppData\Roaming\npm\node_modules 目录下
npm i 包名 -g //全局安装指定的包
npm uninstall 包名 -g //卸载全局安装的包
说明:
- 只有工具性质的包,才有全局安装的必要性,因为它们提供了好用的终端命令判断某个包是否需要全局安装后才能使用。
③i5ting_toc
i5ting_toc 是一个可以把 md 文档转为 html 页面的小工具。
//将 i5ting_toc 安装为全局包
npm install -g i5ting_toc
//调用 i5ting_toc 实现md转html的功能
i5ting_toc -f 要转换的md文件路径 -o
5.规范的包结构
规范包的要求(必须遵守的格式):
- 包必须以单独的目录而存在
- 包的顶级目录下要必须包含 package.json 这个包管理配置文件
- package.json 中必须包含 name,version,main 这三个属性,分别代表包的名字、版本号、包的入口。
小结
以上就是Node.js的包有关的内容 ,后续将会围绕Node.js的相关内容及其知识点不定期持续更新,感谢一路有你们的关注和陪伴!(若有错误,请批评改正,谢谢~