AMD异步加载机制,特点是:依赖前置, 先把模块需要用到的依赖全部加载
本质是利用promise实现异步加载
需要 用到 这篇文章实现 的 模块加载器 __load
https://blog.csdn.net/weixin_38407447/article/details/117402939?spm=1001.2014.3001.5501
新建amd.js文件
//默认配置
const defaultOpts = {
paths:{}
}
gb.rj = {}
rj.config = (options)=>Object.assign(defaultOpts,options)
//保存定义的模块和依赖
const def = new Map()
// define(id?,deps?,callback)
function define(...arr){
let callback = arr.pop()
let [ id, deps ] = arr
def.set(id,{id,deps,callback})
}
//根据模块名称生成资源请求链接
var getUrl = (module)=>{
let a = location.pathname
return a.slice(0,a.lastIndexOf('/'))+'/'+module+'.js'
}
//加载模块
function require(deps,callback){
return new Promise(async (resolve,reject)=
本文深入探讨AMD(Asynchronous Module Definition)异步模块定义规范,通过Promise实现模块的异步加载。重点是理解依赖前置原则,即先加载模块所需依赖。文章以实例讲解,创建amd.js、a.js、b.js模块文件,并在amd.html中展示如何使用require同时加载lodash和a模块,详细解释加载过程中的依赖解析顺序。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=117407660&d=1&t=3&u=ec4deec051c54477a4d7b4c9c93577cb)
1105

被折叠的 条评论
为什么被折叠?



