对含 ESM 模块的 webpack 运行时代码进行调试与理解
ok
webpack 含 ESM 的运行时代码做了那些事情
首先根据 ast 生成的__webpack_module__
的中用__webpack_require__
的属性方法,r 给 __webpack_exports__
添加鉴别是 esm 模块的属性,d 将导出的属性用 getter(setter)定义,
属性在下方声明是因为访问时已经赋值
缓存和__webpack_require__
同 cjsm 模块
定义__webpack_require__
的属性方法,r,d,o
先和__webpack_module__
中模块一样执行 r,给入口模块添加 esm 标签,然后调用__webpack_require__
返回 sum 模块的导出
__webpack_require__
中的 d/r/o 各个变量指什么意思