是否可以使Webpack根据一些上下文信息加载另一个模块?
例如,我有两个版本的React应用程序:桌面版和移动版
在index.js中,我决定加载哪个应用程序:
if (isMobile()) {
loadMobile().then(({default: App}) => render(App))
}
Run Code Online (Sandbox Code Playgroud)
现在,我想重用一些模块,但是有些我想重写它。所以默认情况下它应该载入index.js,但如果上下文isMobile和旁边的index.js一个mobile.js文件存在,它应该加载mobile变种。
components/
Button/
index.js
mobile.js
Run Code Online (Sandbox Code Playgroud)
在移动环境中,webpack应该加载mobile.js而不是index.js
我找不到我可以用来解决的任何东西,有什么主意吗?
PS:我已经在github上创建了一个问题,它也演示了这个问题以及我想实现的更好的目标: