4-Nodejs模块化
4-Nodejs模块化
模块化概念
模块化可以理解成将不同功能的代码分成不同的模块,当需要使用某个功能代码是就引入这个模块,例如可以将时间格式化代码抽离出来作为一个模块,当其他地方需要使用时引入这个模块即可。
模块化有助于提高代码的可维护性、可读性和可重用性。
Node.js中模块的分类
Nodejs 根据模块来源的不同,将模块分为了3大类,分别是:
- 内置模块(内置模块是由Node.js官方提供的,例如fs、path、http等)
- 自定义模块(用户创建的每个js文件,都是自定义模块)
- 第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载)
内置模块
内置模块(Built-inModules)是指Node.js核心提供的一系列模块,这些模块可以直接使用而不需要额外安装,例如:
// 导入 fs 模块
const fs = require('fs');
自定义模块
自定义模块是一种封装和组织代码的方式,使得应用可以更加模块化,易于维护和复用。自定义模块可以是一系列函数、变量、对象或者其他模块的集合,它们可以被其他文件导入和使用。下面是如何创建和使用自定义模块的基本步骤:
① 创建自定义模块
创建一个JavaScript文件,比如 4-myModule1.js,然后在这个文件中定义导出内容:
// 定义一些变量
const myVar = 'Hello, World!';// 定义一些函数
function myFunction() {console.log(myVar);
}// 使用module.exports导出内容
module.exports.myVar = myVar;
module.exports.myFunction = myFunction;
② 使用自定义模块
在另一个文件 4-module-test.js 中,可以使用require函数来导入并使用刚刚创建的自定义模块。
// 导入自定义模块
const myModule = require('./4-myModule1');// 使用导入的变量和函数
console.log(myModule.myVar); // 输出: Hello, World!
myModule.myFunction(); // 输出: Hello, World!
使用ES6语法自定义模块
可以使用ES6的import和export语法来创建和使用模块。这种方式更加现代和简洁。
① 创建自定义模块
创建一个JavaScript文件,比如 5-myModule2.mjs,然后在这个文件中定义导出内容:
// 使用export导出内容
export const myVar = 'Hello, World!';
export function myFunction() {console.log(myVar);
}
② 使用自定义模块
在另一个文件 5-module-test.js 中导入模块
// 使用import导入内容
import { myVar, myFunction } from './5-myModule2.mjs';console.log(myVar); // 输出: Hello, World!
myFunction(); // 输出: Hello, World!
第三方模块
需要下载第三方模块到本地后引入
const moment = require('moment')