我的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服务器配置为读取构建目录(不在实际生产中!)。