美文网首页
如何在启动 Vue 程序之前读取本地静态文件内容

如何在启动 Vue 程序之前读取本地静态文件内容

作者: 编程范儿 | 来源:发表于2021-09-25 23:29 被阅读0次

    有这样一个需求,就是希望通过本地的 Json 文件来写入一些内容,比如请求后端接口的 API 前缀,我们在 public 目录下面新建一个 project.config.json 文件来做一些配置项:

    {
      "baseUrl": "http://192.168.199.201:10000/"
    }
    

    这样有一个好处就是项目打包发布之后的文件也可以通过更改这个静态文件来改变一些配置项,省的因为频繁更改配置,而需要重新打包

    然后我们在程序的主文件 main.js 中来通过请求这个静态文件,然后将读取的结果存在 Vue 的全局属性 $config 下面

    async function getConfig() {
      return axios.get("./project.config.json").then((res) => {
        Vue.prototype.$config = res.data
      })
    }
    

    那么接下来我们还需要在 Vue 程序实例化之前就执行 getConfig() 方法 ,这样才能确保我们在请求后端接口的时候能提前拿到 API 的 baseUrl

    async function createApp() {
      new Vue({
        router,
        store,
        render: (h) => h(App),
      }).$mount("#app")
    }
    
    (async function() {
      await getConfig()
      await createApp()
    })()
    

    是不是很灵活,应该还有很多的场景能够用到该方法。

    相关文章

      网友评论

          本文标题:如何在启动 Vue 程序之前读取本地静态文件内容

          本文链接:https://www.haomeiwen.com/subject/gupfnltx.html