模块化

89 阅读1分钟
  • 概念

对于一个复杂的应用程序,遵循确定的规则将其拆分到几个互相独立的文件中。

这些文件应该具有原子特性。(内部逻辑相似,对外暴露方法或者属性)

  • 类型
  1. 利用对象
  2. CommonJS - 文件即模块,同步。
  3. AMD - require实现代码的模块加载,define将代码定义为模块。依赖前置原则。
  4. CMD - 可同步可异步,遵循依赖就近原则,使用前引入即可。
  5. UMD - 同时使用AMD规范与CommonJS规范。
  6. ES模块

设计思路:静态化。保证在编译时就确定模块之间的依赖关系,而不是运行时。

ES模块输出的是值的引用,而不是值的拷贝。

通过分析可以得出代码中变量所属的作用域及他们之间的引用关系,进而可以推导出变量和导入依赖变量之间的引用关系。