我们有一个使用Webpack捆绑生产的node.js应用程序。
我们的问题是如何在您拥有捆绑包之后添加动态配置,而无需重新捆绑?
在服务器端,我们可以使用节点env变量,但是如何为客户端捆绑包完成?具体来说,我们需要告诉浏览器模块要连接的api服务器地址。
使用配置的js / json文件会导致配置值被注入到包中,因此之后无法更改(以舒适的方式,无需打开包文件并手动查找和替换)。 / p>
使用express-expose之类的东西不是我们想要的东西,因为它会导致另一个网络请求获取数据,而我们的服务器地址是动态的。
node-config等,不在客户端工作
答案 0 :(得分:1)
您可以创造性地使用externals
选项:
externals: [
{ appConfig: 'var appConfig' },
],
如果您将其添加到您的配置中,您可以让您的Web服务器在加载您的webpack包之前在某处添加一个带有var appConfig = {"config":"value"};
的脚本标记,并且只需一个简单的require('appConfig')
即可。 / p>