现状
我们有许多客户使用我们的客户端应用软件。问题是我们需要连接到不同的REST端点。基本URL始终不同。
目前我们正在使用我们在发布期间操作的config.json
文件。一个简单的例子
config.json
{
"endpoint": "http://localhost/api"
}
在我们的应用程序启动期间,我们正在进行HTTP调用以获取此文件。对于进一步的API调用,我们使用config.json
文件提供的端点。
期望的结果
我们真正想要的是它成为我们应用程序的一部分,而不是进行HTTP调用。我们正在使用webpack来构建我们的应用程序。
在我们的dataservice层,我们想要做如下的事情:
import config from './config';
// use config.endpoint;
config.js
export default {
endpoint: "http://localhost/api"
};
我们可以在构建期间覆盖 confg.js 文件。但由于我们有很多客户(+ - 30),我们不想为每个客户构建。我们只想在发布期间使用正确的配置进行一次构建并修改 config.js 文件。
基本上我们希望webpack在构建期间忽略该文件并将文件复制到输出文件夹+将其注入index.html。
我做过一些研究,我不知道如何解决这个问题。也许最初的HTTP调用不是那么糟糕的事情吗?
编辑:端点只是一个示例,我们在客户端应用中定义了更多客户特定配置
答案 0 :(得分:0)
好的,这比预期的要容易。我只是在配置文件中添加了一个新条目。
entry: {
config: "./src/config.ts",
app: "./src/main.ts"
}
在UglifyJsPlugin中,我添加了config
文件的排除。
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
exclude: /(config).+/i,
sourceMap: true
}),
输出是"可读"配置文件。