我有一个相当复杂的场景。
我们正在构建一个包含Electron的React桌面应用程序,Webpack负责Babel的转换和分块。
应用程序从cms接收配置数据。
部分配置可能是需要覆盖驻留在应用程序中的一个javascript类。 CMS中指定的JS代码将是vanilla Javascript代码(ES6 / 7/8与我们用于应用程序的代码相同)
我在这里看到两个问题:
如何透露这一类和
如何在应用程序中替换它的运行时
这甚至可能吗?
此致
答案 0 :(得分:1)
如果使用“The application receives configuration data from a cms.
”表示运行时数据,那么,因为Webpack
在编译时起作用,它无法帮助您转换/替换代码({{ 3}})。
如果您的data from a CMS
可以在编译时获取,那么请注意您可以Runtime vs Compile time。
module.exports = function webpackConfig(env) {
const configs = {
context: __dirname,
plugins: []
// etc...
};
return CMS
.fetchConfig()
.then(cmsConfigs => {
const vars = {
replaceClass: JSON.stringify(cmsConfigs.classINeed.toString())
};
configs.plugins.push(new webpack.DefinePlugin(vars));
return configs;
})
;
}