模块化的意义

模块化

模块化的好处

CommonJS规定的内容

Node.js中模块的三大分类各自是什么

能够使用npm管理包

了解什么是规范的包结构

能够了解模块的加载机制

模块化:遵循固定的规则,把一个大文件拆成独立并相互依赖的多个小模块

规范:()遵循一定语法格式,暴露和引入的相关规范格式

好处:
         提高代码的复用性

         提高代码的可维护性

        可以实现按需加载

三大类:

        内置模块

        自定义模块

        第三方模块

Require用于加载相关模块

模块作用域:防止全局变量的污染问题

向外共享模块中的成员的(注意点):永远以module.exports指向的对象为准

Exports和module.exports指向同一个对象

Require()模块时,得到的永远是module.exports指向的对象

CommonJS规定的内容

      Node.js遵循了CommonJS模块化规范,CommonJS规定了模块的特性和各模块之间的如何相互依赖

      规定:

        每个模块内部,module变量代表当前模块

        Module变量是一个对象,他的exports属性(module.exports)是对外的接口

        加载某个模块,其实是加载该模块的module.exports属性

注意点:包管理配置文件

【Package-lock.json:配置文件,记录相关包的相关信息等等安装指定版本的包  @符号+‘版本号’

最新的安装命令会覆盖以前的包文件】

模块加载机制:

模块在第一次加载后呗缓存、多次调用require()不会导致模块的代码被执行多次

      使用require()导入自定义模块时,如果省略了文件的扩展名,则按顺序分别加载一下的文件:

  1. 按照确切的文件名进行加载
  2. 不全 . Js扩展名
  3. 不全.  Json扩展名
  4. 不全 . node扩展名进行加载

第三方模块的加载机制

      如果传递给require ()的穆凯标识符不是一个内置模块,也没有“./” ”../”开头,则node.js会从当前模块的父目录开始,尝试从/Node_modules文件中加载第三方模块,如没有找到,咋移动到再上一层目录中,继续从node_modules文件中进行寻找需要的文件

目录作为模块

      当把目录作为模块标识符,传递给require()进行加载的时候,有三种加载方式:

  1. 先被加载的目录下查找一个叫做package,json的文件,并寻找main属性,做为require()加载入口
  2. 如没有package,json文件,或者main入口不存在或无法解析,则node.js将试图加载目录下的index,js文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值