这里在nodejs里面分析一下systemjs 通用模块加载器的实现原理
这里 npm install systemjs 后,执行一下这段代码,发现then里面可以直接拿到 lodash 的对象
let {System} = require('systemjs')
var lodashCdn = 'https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.21/lodash.js'
System.import(lodashCdn).then(_=>{
console.log("e")
console.log(_)
})
根据我们已知条件,浏览器 执行 cdn 上的代码后 是无法直接拿到模块的对象的
我们这里看一下源码
通过一步步打印,发现 topLevelLoad 这个函数解析了 lodash 的代码
发现 loadsh的对象就在load.n里面,我们接着往下查
这里打印一下l