node.js学习笔记——模块化

目录

基本概念

模块分类

模块作用域

共享成员

 


基本概念

  1. 一个JS文件就是一个模块
  2. 每个JS文件的代码都是独立运行的,属于局部函数,不能以全局函数来使用,因此JS文件里的函数和变量在其他文件里无法使用

模块分类

  1. 内置模块(由Node.js官方提供的,例如fs、path、http等)
  2. 自定义模块(用户创建的js文件,都是自定义模块)
  3. 第三方模块(由第三方或开发社区开发出来的模块,并非官方内置的模块,也不是用户自定义创建的,使用前需下载)

模块作用域

  1. 什么是模块作用域?
    函数作用域类似,在自定义模块中定义的变量方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域
  2. 好处
    解决全局变量污染的问题,避免多个变量方法命名重复的问题

共享成员

  1. module对象
    在每个自定义模块中,都有个module对象,存储了当前的模块信息
  2. module.exports对象
    在自定义模块中,可以使用nodule.exports对象,将模块内的成员共享出去,供外界使用
    外界用 require0 方法导入自定义揽块时,得到的就是module.exports所指向的对象
  3. 共享成员时的注意点
    使用require0方法导入模块时,导入的结果,永远以module.exports指向的对象为准
  4. exports 对象
    由于 module.exports 单词写起来比较复杂,为了简化向外共享成员的代码,Node提供了exports 对象。默认情况下,exports 和 module.exports 指向同一个对象。最终共享的结果,还是以 module.exports 指向的对象为准
  5. exportsmodule.exports 的使用误区
    谨记:最终得到的永远是 module.exports 指向的对象
    PS:为避免混乱,建议不要在同一模块同时使用 exports 和 module.exports


学习视频:https://www.bilibili.com/video/BV1a34y167AZ?spm_id_from=333.999.0.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值