Js-我想延迟加载config.json,而不是在编译时包含

2022-07-02 config vue.js vuejs2

我正在尝试创建一个类似于我的VUE应用程序中的web.config中的应用程序设置的文件,我的VUE应用程序可以使用该文件在运行时加载从一个部署级别更改到另一个部署级别(dev/qa/prod)的配置信息

我正在加载它

Vue.Prototype.$CONFIG=REQUIRED(‘/public/config.json’)

但当我查看转换后的输出时,它具有加载并硬编码的文件值,而不是要从文件加载的代码

在app90117256.js:(和js.map)

t.exports = JSON.parse('{""name":"value" etc.....

如何让它在运行时加载文件。


解决方案

如果要在运行时加载配置,请不要使用构建时构造,requireimport(或Vue CLI ENV variables)是...

选项:

  1. 在应用程序启动期间(or before)使用XHR或fetch浏览器API向服务器请求json文件

  2. 将json转换为分配某个全局变量的JS文件(例如window.appConfig),使用index.html(在您的应用包之前)中的<script>加载它,然后从应用程序使用window.appConfig访问它

相关文章