Skip to content

Latest commit

 

History

History

module

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

模块化

所谓模块化即是将一个完整的功能按职责划分为一个以上的能够独立完成各自功能的代码块,每个代码块之间相互独立且可以通过接口方式交互。

CommonJS

是一种基于服务器端(Node)的模块化标准,以这种方式组织的模块都是以同步方式加载的。

定义模块

一个单独的文件就是一个模块,每个模块都是一个独立的作用域,也即是说在该模块内部定义的变量无法被其它模块读取。

模块输出

模块只有一个出口module.export对象,我们需要把模块输出的内容放到该对象。

加载模块

用require方法来加载模块,该方法读取一个模块并执行,返回文件内部的module.exports对象是一种基于服务器端(Node)的模块化标准,以这种方式组织的模块都是以同步方式加载的。

AMD(Asynchronous Module Definition)

是一种基于浏览器端模块化开发的规范,以这种方式组织的模块都是以异步方式加载的。

具有代表性的函数库 – RequireJS

主要解决2个问题:

  • 多个模块可能有依赖关系,被依赖的文件需要早于依赖它的文件加载到浏览器;
  • js加载的时候浏览器会停止页面渲染,加载文件越多,页面响应时间越长。