Node.js 07 模块化基础

44 阅读1分钟

1. 什么是模块化?

模块化是指解决一个复杂问题时,自顶而下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换的单元。

0737.png

2 . 模块化的规范:

就是对代码进行模块的拆分和组合时,需要遵守的那些规则。

0743.png

3 . 模块的分类

0738.png

4 . 加载(使用)模块

  • 使用 require()方法加载

0739.png

注意: 加载其他模块时,会执行加载模块中的代码。(可以省略.js文件后缀名)。

5 . 模块作用域

跟函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,这种级别的访问机制,叫做模块作用域。(即使导入了该模块,也不能使用)

好处:

防止全局变量污染

6 . how to 向外共享模块作用域的成员?

moudle对象 ,每个.js 自定义模块(文件)里面都有一个moudle对象 ,它里面储存了和当前模块有关的信息。moudle对象里面有一个 exports属性 ,它默认是一个空对象

  • 可以通过 moudle.exports 对象,将模块内的成员共享出去,供外界使用。外界使用require()方法导入自定义模块时,得到的就是 moudle.exports 所指向的对象。
moudle.exports.username = 'zs' 
moudle.exports.sayHello = function(){
   console.log('Hello!!')
}

6 . 1 exports 对象:

0740.png

即 exports === moudle.exports // true

6 . 2 exports 和 moudle.exports 的使用误区:

0741.png

exports.username = 'zs'
moudle.exposts = {
   gender : '男'
   age :18
}

则向外导出的是{gender : '男' ,age :18}

0742.png

为了防止混乱,建议不在同一模块中同时使用 exports 和 moudle.exports