我有两个应用程序,都使用webpack . 每个应用程序都需要不同的JavaScript模块 . 例如, app1
不使用react, app2
确实使用react . 我正在尝试将 app2
中的webpack模块包含到 app1
中 . 我正在使用 CommonsChunkPlugin
从app1和app2s主文件中提取webpack运行时 . 所以从app1开始,我有一个包含 init.js
脚本的页面, app1.js
脚本然后我通过url包含了 app2.js
文件(即 http://proxy/app2/js/app2.js
通过代理,因此没有跨站点问题) .
加载了来自 app2
的javascript,但似乎并没有实际加载webpack模块 . 当它在app1中的页面上加载时,找不到 app2
(即反应)所需的模块 .
有没有办法做到这一点?我基本上希望它懒得加载 app2
bundle,但是webpack并没有自己的入口点 . 这就像我需要指定一个延迟加载的入口点或其他东西 . 请帮忙!
1 回答
我刚刚发现webpack可以output Libraries,可以在其他应用程序中使用 . 所以,我已经改变
app2
输出一个库,然后我将其包含在app1
中,它就像一个魅力 . 如果需要,所有必需的依赖项也可以随附,或者您可以将它们指定为外部 . 以下是app2
的webpack配置示例:然后在
app1
中,我只是在脚本标记中包含脚本one.js
,它加载就好了 . 一个注意事项,我不得不从app2
中删除CommonsChunkPlugin,因为运行时以你的库名为前缀 . 因此,您需要将所有内容都包含在库中以正确加载 .