Node.js模块加载及包

98 阅读2分钟

一Node.js模块化开发

1.1js开发弊端

  • JS在使用时存在两大问题,文件依赖和命名冲突

图片.png

1.2生活中的模块化开发

图片.png

1.3软件中的模块化开发

  • 一个功能就是一个模块,多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行

图片.png

1.4Node.js中模块化开发规范

  • Node.js规定一个js文件就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到
  • 模块内部可以使用export对象进行成员导出,使用require方法导入其他模块

图片.png

1.5模块成员导出

图片.png

1.6模块成员的导入

图片.png

  • 导入模块时后缀可以省略

1.7模块成员导出的另一种方式

图片.png

1.8模块导出两种方式的联系与区别

图片.png

二系统开发

3.1什么是系统模块

Node运行环境提供的API,因为这些API都是以模块化的方式进行开发的,所以我们又称Node运行环境提供的API为系统模块

图片.png

3.2系统模块fs文件操作

  • f:file文件,s:system系统,文件操作系统

图片.png

  • 读取文件内容

图片.png

3.2系统模块fs文件操作

  • 读取文件语法示例

图片.png

  • 写入文件内容

图片.png

3.3系统模块path路径操作

  • 为什么要进行路径拼接
  1. 不同操作系统的路径分隔符不统一
  2. /public/uploads/avatar
  3. windows上是/
  4. linux上是/

3.4路径拼接语法

图片.png

3.5相对路径VS绝对路径

  • 大多数情况下使用绝对路径,因为相对路径有时候相对的是命令行工具的当前工作目录
  • 在读取文件或者设置文件路径时都会选择绝对路径
  • 使用__dirname获取当前文件所在的绝对路径

四第三方开发

4.1什么是第三方模块

别人写好的,具有特定功能的,我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个文件组成并且被放置在一个文件夹中,所以又名包

  • 第三方模块有两种存在形式
  1. 以js文件的形式存在,提供实现项目具体功能的API接口
  2. 以命令行工具形式存在,辅助项目开发

4.2获取第三方模块

npm(node package manager):node的第三方模块管理工具

  • 下载:npm install模块名称
  • 卸载:npm unintall package模块名称
  • 全局安装与本地安装
  1. 命令行工具:全局安装
  2. 库文件:本地安装 图片.png

4.3第三方模块nodemon

图片.png

4.4第三方模块nrm

图片.png

五Node.js中模块的加载机制

六package.json文件