Node.js模块化

ppgo8 于 2023-05-18 发布

Node.js模块化

在此之前,编写的http服务都是单文件,单文件应对单个需求问题不大,但是复杂场景存在一些问题:

  1. 变量命名,前面定义了名字后面无法使用。

  2. 代码服务性差,在当前代码封装的函数在其他代码中无法使用。

  3. 可维护性差,多人开发对同一个文件编辑容易发生冲突。

如何解决上述问题?模块化技术。

介绍

什么是模块化与模块?

什么是模块化项目?

编码时是按照模块一个个编写的,这个项目就是模块化项目。

模块化的好处

  1. 防止各个模块之间的命名冲突
  2. 高复用性
  3. 高维护性,方便进行任务的划分

模块暴露数据

模块暴露数据的方法有两种:

exports.name = value

// 方法1:
exports.name = value

module.exports =value

// 方法2:
module.exports = value  // 暴露单个数据
moddule.exports = {     // 暴露多个数据
    key1:value1,
    key2:valule2
}
// 暴露多个数据的简写方法,此种情况默认key值为value值
moddule.exports = {
    value1,  
    value2
}

注意:

导入(引入)模块

要想使用模块的暴露数据,需要先导入该模块。

导入方法:在模块中使用require传入文件路径即可引入文件。

const test = require('文件路径')

require的注意事项

require导入基本流程

这里只讨论自定义模块,不讨论内置模块。

https://www.bilibili.com/video/BV1gM411W7ex?p=72&spm_id_from=pageDriver&vd_source=dde2f4dd432156027fedf9b1734ba705

nodejs底层 面试题

CommonJS规范