Webpack联邦模块:如何映射__WEBPACK_MODULES__键与原始导入语句?
Webpack下AMD联邦模块的外部依赖映射问题
问题背景
我正在使用一个基于AMD实现的联邦模块库,它会在运行时创建模块,且要在Webpack打包的应用中运行。为了处理外部依赖,我需要确定这些模块在Webpack视角下的真实名称。
示例代码
待加载的联邦库代码
define('myFederatedLib', ['react', 'lodash'], (react, _) => { var react = react["default"] ... }
AMD实现核心逻辑
// statics 最终为 ['react', 'lodash'] statics.map((id) => { // 运行时执行导入操作 return import(id) })
当前问题
当id为react时,webpack_require(id)无法找到对应模块——因为Webpack已对模块进行了重命名处理。
我尝试编写Webpack插件,监听compilation钩子下的多个事件,通过parser.import.tap(...)可以获取到依赖库的列表,但找不到Webpack将这些依赖转换为__WEBPACK_MODULES__条目的具体位置。
内容的提问来源于stack exchange,提问作者Benjamin Polge
相关产品推荐
相关产品推荐

