vue.js - 如何在没有CORS错误的情况下在Vue CLI中加载JSON

标签 vue.js webpack vuejs2 electron vue-cli

我有一个包裹在Electron应用程序中的Vue.js项目。从我的组件之一(src/components/MoviesTable.vue),我正在对本地JSON文件(public/data/multimedia.json)进行axios调用,如下所示:

axios.get('./data/multimedia.json').then(res => {
  this.movies = res.data.movies;
})

当我运行npm run serve服务Vue应用程序时,我没有遇到任何问题。但是,当我构建Electron应用程序时,收到错误消息:

Access to XMLHttpRequest at '.../multimedia-index-app/dist/data/multimedia.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.



我尝试使用代理都无济于事。我知道在SO上也曾提出过类似的有关CORS的问题,这些问题提供了不同的解决方案,但是我是菜鸟,我需要的指导要比我遇到的更清晰。

如果您需要更多信息,请告诉我。解决该问题的任何帮助将不胜感激。

提前致谢。

最佳答案

如果JSON文件应与应用程序 bundle 在一起,则不需要Axios,可以让Webpack加载它:

import movies from './data/multimedia.json';

并在组件中使用它:

export default {
  data() {
    return {
      movies
    }
  }
}

关于vue.js - 如何在没有CORS错误的情况下在Vue CLI中加载JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61198124/

相关文章:

javascript - Vue - 滚动到 Div

javascript - 使用 Vue 访问粘贴事件数据

javascript - 为什么 CSS 关键帧动画在具有作用域样式的 Vue 组件中被破坏?

json - 在 Nuxt 中加载 JSON 时如何从树摇动和代码分割中受益?

webpack - 使用 Webpack 将 Nunjucks 文件编译成 HTML

javascript - Vue js - 在同一级别的两个组件内传递数据

typescript - 未定义 Nuxt 自定义插件导出

reactjs - 如何为第三方网站创建可嵌入的 next.js (react) 组件?

javascript - 如何将html标签保存为数组?

vuejs2 - v-for 内部的 v-if 和 v-else 用于不同的文本渲染