Node 模块化

Node 模块化,第1张

Node.js中模块的分类(三类)

1-内置模块。由Node.js提供,如fs,http,path等。
2-自定义模块。用户创建后缀名为。
3-第三方模块。由第三方开发出来的,使用需要下载。

加载模块

//1.加载内置模块

const fs = require('fs');

//2.加载用户的自定义模块

const js = require('./1');

// 3.加载第三方模块 使用前需要下载

const moment = require('moment');

// 注意: 使用require()方法加载其他模块时,会执行被加载模块中的代码

模块作用域 和函数作用域类似,在自定义模块中的变量,方法等成员,只能在当前模块级别内被访问,这种模块级别的访问限制,叫做模块作用域。好处:防止了全局变量污染的问题。 module对象 在每个.js自定义模块中都有一个module对象,里面存储了和当前模块有关的信息
![](http://www.kaotop.com/file/tupian/20220516/90fb20ebf72546369f5e82b299914955.png#pic_center)
module.exports对象

在自定义模块中,可以使用module.exports对象,将模块内的成员共享出去,供外界使用。

外界用require()方法导入自定义模块时,得到的是module.exports 所指向的对象。
- == 导出当前模块里面的方法集合
== 每个模块里面天生有一个对象叫做module
== 这个对象里面添加有一个成员叫exports,默认是一个空对象
== 到其他文件导入本文件的时候
== 其实获取到的就是本文件的module.exports
== 如果我希望自己方法可以被别人使用
== 我就把这个方法放到module.exports对象里面

使用require()方法导入模块时,永远以Module.exports指向的对象为准。

exports对象 由于module.exports单词写起来复杂,Node提供了exports对象.
默认情况下exports和module.exports指向同一个对象,还是以module.exports指向的对象为准。
exports 和module.exports的使用误区 注意:require()模块时,得到的永远是module.exports指向的对象

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/940720.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-17
下一篇2022-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存