我在webpack.config.js文件中定义了两个变量,我想用外部文件中的值填充Web.config。对于这个外部文件,我有一个名为webconfig的npm包来解析变量并且它可以工作。 文件被解析为异步,因此问题在于正确创建module.exports。
sort_order
现在,已定义的属性将导出为“a”和“b”。 找不到如何从文件中导出已解析的属性。有什么建议吗?
答案 0 :(得分:0)
最后我开始工作了:
module.exports = () => {
let config = webconfig
.compile({
sources: [
__dirname + '/Web.config'
]
});
return config.then(data => {
return {
//...
plugins: [
new webpack.DefinePlugin({
__API_URL__: JSON.stringify(data.appSettings.__API_URL__),
__APP_URL__: JSON.stringify(data.appSettings.__APP_URL__)
})
]
}
});
};
答案 1 :(得分:0)
我具有配置的层次结构,因此Promise到处都会支持异步Webpack调用
使用deasync
解决此问题var webconfig = require("webconfig");
var result;
function getWebConfig() {
webconfig
.compile({
sources: getConfigFilenames(),
})
.done(function (compiledWebConfig) {
result = compiledWebConfig;
});
}
getWebConfig();
while (result === undefined) {
// Use sync call of async function
require('deasync').runLoopOnce();
}
module.exports = result;