使用webpack编译应用时,在运行时加载可选的配置文件

时间:2018-07-19 15:08:06

标签: javascript webpack configuration webpack-externals

我的react应用在开发过程中(使用webpack-dev-server)从config.json文件中读取设置。这可以正常工作(需要刷新浏览器以重新加载配置更改)。当我构建生产代码时,捆绑包将被发送到/build

我已将externals添加到webpack.prod.config.js中,因此我的config.json文件已从app/assets/config.json复制到build/config.json。到目前为止一切都很好。

{
  ...
  externals: {
    appConfig: JSON.stringify(require("./app/assets/config.json"))
  },
  ...
}

问题是,在运行时不会在生产代码中加载发出的配置。

我可以对文件进行更改,但没有任何更改,即使重新启动Web服务器和硬浏览器也是如此-这是config.json的重点。

我想没有办法实现这一目标,因为webpack在具有文件系统访问权限的node.js上运行,并且目标输出是“ web”,而文件系统访问权限不可用?

如果我误解或做出错误的假设,请随时提出问题。

更新
最后我没有使用externals。我的配置已使用build发送到CopyWebpackPlugin目录中。在开发中(使用热模块替换),编辑配置文件将使Webpack重建。

在生产版本中,我通过axios HTTP调用检索配置。已将Web服务器配置为读取构建目录(不在实际生产中!)。

0 个答案:

没有答案