【发布时间】:2017-04-09 13:03:20
【问题描述】:
你好希望你一切都好。
我目前正在为 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;
}
非常感谢所有帮助。 彼得
【问题讨论】:
-
你的配置中
libraryTarget的值是多少? -
您可能正在做某事。我实际上有 2 个配置,一个用于服务器端预渲染,一个用于客户端。客户端,没有设置任何东西,它不会抱怨。服务器端它设置为 commonjs 并且它抱怨。会考虑改变它
-
嗯,好的,所以将其更改为任何内容都无济于事。但它肯定构建客户端而不是服务器版本。我会进一步研究。
标签: typescript webpack ecmascript-6