切换主题
六、Node.js中的模块分类
1、Node.js中的模块分类
- 内置模块(内置模块是由Node.js官方提供的,例如fs、path、http等)
- 自定义模块(用户创建的每个.js文件,都是自定义模块)
- 第三方模块(由第三方开发出来的模块,并非官方提供的内置模块,也不是用户创建的自定义模块,使用前需要先下载)
2、加载模块
require()方法,可以加载需要的内置模块、用户自定义模块、第三方模块进行使用
js
//1、加载内置的fs模块
const fs=require('fs');
//2、加载用户自定义模块
const custom=require('./custom.js')
//3、加载第三方模块
const moment=require('moment')
注意:使用require()方法加载其他模块时,会执行被加载模块中的代码
3、向外共享模块作用域中的成员
1、module对象
在每个.js自定义模块中都有一个module对象,它里面存储和当前模块有关的信息
js
Module {
id: '.',
path: 'G:\\大二下学期\\Nodejs\\module',
exports: {},
filename: 'G:\\大二下学期\\Nodejs\\module\\test.js',
loaded: false,
children: [],
paths: [
'G:\\大二下学期\\Nodejs\\module\\node_modules',
'G:\\大二下学期\\Nodejs\\node_modules',
'G:\\大二下学期\\node_modules',
'G:\\node_modules'
]
}
通过module.exports来对外导出数据
4、Node.js中的模块化规范
Node.js遵循了CommonJS模块化规范,CommonJS规定了模块的特性和各模块之间如何相互依赖
CommonJS规定:
- 每个模块内部,module变量代表当前模块
- module变量是一个对象,它的exports属性(即module.export)是对外的接口
- 加载某个模块,其实是加载该模块的module.exports属性。require()方法用于加载模块