lesson 2 模块化 2021-04-16

2021-04-23  本文已影响0人  jeff_nz

课程标题 波比-模块化

课程目标

知识点

  1. 什么是模块化 ——本质:所有的变量封装在一个函数,通过一个接口暴露出希望暴露出来的内容。
  2. 为什么要用模块化——a. 关注分离 b. 区分模块粒度 c. 更优雅的代码管理、高内聚
  3. code-spliting 按需加载 promise来实现
  4. 目前主要的模块规范有AMD,CMD和es6 module

AMD (依赖前置)

对应的主要js库有 require.js, curl.js

  1. require的时候加载了依赖的模块,首先加载全部模块
  2. 通过promise实现异步加载模块
  3. 没有实现按需加载

CMD (按需加载)

对应的js库有Sea.js

  1. 按需加载,依赖后置,在require的地方才去加载对应的部分。

COMMON JS

  1. 文件是一个模块,私有,内置两个变量module, require (exports = module.exports)
    一个引入一个导出就构成了通信的基本结构
  2. 缓存,require会缓存一下,多次require可能及后续修改都是同一个地方的引用。
  3. 引用拷贝还是值拷贝,CMJ是值拷贝
  4. 运行时加载,同步加载
  5. 循环引用

ES moudule

  1. ESM是运行时绑定,类似引用拷贝
  2. 异步加载
上一篇 下一篇

猜你喜欢

热点阅读