我的桌面应用程序使用Electron + React作为界面,Edge.js将Node与我的C#应用程序连接。
我的问题是:Webpack无法捆绑我的应用程序,因为Edge.js依赖项会抛出以下error:
严重依赖:依赖的请求是表达式
问题在于Edge.js具有以下动态需求:
var compilerName = 'edge-' + language.toLowerCase();
var compiler = require(compilerName);
大多数情况下,compilerName
将被翻译为“edge-cs”,但Webpack无法确定这一点。
我该如何解决这个问题?人们建议设置require context或ContextReplacementPlugin,但这两种情况通常适用于require('./directory/' + variable)
的情况,我不知道如何在我的情况下使用它们有require(variable)
。
注意:我需要一个解决方案,我无需修改第三方库代码。
答案 0 :(得分:1)
我不认为这是可能的,您是否考虑过下面的大型开关?建议here
switch (name) {
case 'a': return require('./a');
case 'b': return require('./b');
// etc...
}