Webpack捆绑动态客户端配置

时间:2016-08-02 12:13:49

标签: node.js webpack config

我们有一个使用Webpack捆绑生产的node.js应用程序。

我们的问题是如何在您拥有捆绑包之后添加动态配置,而无需重新捆绑?

在服务器端,我们可以使用节点env变量,但是如何为客户端捆绑包完成?具体来说,我们需要告诉浏览器模块要连接的api服务器地址。

使用配置的js / json文件会导致配置值被注入到包中,因此之后无法更改(以舒适的方式,无需打开包文件并手动查找和替换)。 / p>

使用express-expose之类的东西不是我们想要的东西,因为它会导致另一个网络请求获取数据,而我们的服务器地址是动态的。

node-config等,不在客户端工作

1 个答案:

答案 0 :(得分:1)

您可以创造性地使用externals选项:

externals: [
    { appConfig: 'var appConfig' },
],

如果您将其添加到您的配置中,您可以让您的Web服务器在加载您的webpack包之前在某处添加一个带有var appConfig = {"config":"value"};的脚本标记,并且只需一个简单的require('appConfig')即可。 / p>