Webpack externals找不到模块
问题描述:
你好,希望你好。Webpack externals找不到模块
我目前的WebPack有点挣扎,一直在寻找最佳的解决方案,以满足以下:
我想从我的单页的应用程序加载的JSON配置和使用它的地方。这实际上工作得很好:
externals: {
'config': JSON.stringify(getAppConfig())
}
当然,这是加入的WebPack配置和getAppConfig是:
var getAppConfig =() => {
var finalConfig = require('./config.json');
if (process.argv.indexOf('--env.production')) {
finalConfig = Object.assign(finalConfig, require('./config.production.json'));
}
/*more stuff here but removed for simplicity*/
return finalConfig;
}
然后一个模块里面,我做
import Config from 'config';
,并使用导入的JavaScript目的。令人惊讶的一切正常:)我的问题其实是这个丑陋的错误的WebPack
ERROR in ./ClientApp/store/WeatherForecasts.ts
Module not found: Error: Cannot resolve module 'config' in
我真的不希望有CI目的伪造的错误并没有什么,但我宁愿明白发生了什么事情比以某种方式忽略它。顺便说一句,我正在使用打字稿的项目,不知道它是否改变了什么,但最好说明我猜的所有事实。这是打字稿模块的定义:
declare module 'config' {
export interface Config {
backendUrl: string;
}
export default {} as Config;
}
所有帮助非常感谢。 Peter
答
好的,我有一个解决方案。而且我恐怕只是没有正确阅读文档而已。请参阅我使用webpack-merge,但我不知道它无法正确合并数组。因此,我的服务器prerendering包配置覆盖共享的一个,它丢失。现在好了
在你的配置中'libraryTarget'的值是多少? – Thaadikkaaran
你可能会遇到某些事情。我实际上有2个配置,一个用于服务器端预渲染,一个用于客户端。客户端,没有设置,它没有抱怨。服务器端它设置为commonjs,它抱怨。将考虑改变它 –
嗯,好的,所以把它改成任何东西都无济于事。但它绝对建立客户端而不是服务器版本。我会更多地考虑它。 –