js框架设计-模块加载系统

  1. 模块加载系统
    1. AMD 规范
    2. 路径探索
    3. require 方法

模块加载系统

AMD 规范

异步模块定义,避免了同步加载方式导致的页面假死现象。

每个模块需要按照一定的格式书写,define 和 require。

define 是模块开发者关注的写法,require 是模块使用者关注的写法。

define("xxx", ["aaa", "bbb"], function(aaa, bbb) {});
require(["aaa", "bbb"], function(aaa, bbb) {});

路径探索

todo:再看看

require 方法

require 的作用是在依赖加载完毕之后,再执行用户的回调,于是会有个加载的过程:

  • 取得依赖的第一个 ID,然后拿到他的路径
  • 检查是否加载过,或者正在被加载,所以需要列表保存加载的状态
  • 创建 script 节点,绑定一应的 onerror,onload,onreadychange 来判断成功与否,然后插入 DOM,开始加载
  • 将模块的加载状态保存到对象中

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 981909093@qq.com

文章标题:js框架设计-模块加载系统

文章字数:228

本文作者:泽鹿

发布时间:2019-08-28, 16:45:23

最后更新:2019-08-28, 16:45:23

原始链接:http://panyifei.github.io/2019/08/28/读书笔记/Javascript框架设计/模块加载系统/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏