js框架设计-模块加载系统
模块加载系统
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" 转载请保留原文链接及作者。