Vue.js VueJs本地资产路径

Vue.js VueJs本地资产路径,vue.js,vuejs2,axios,quasar,Vue.js,Vuejs2,Axios,Quasar,我正在开发Vuejs应用程序。基于Quasar框架,在src/components/Hello.vue中 在这里,我有一个加载json文件的函数 axios.get('../assets/json/ar/myfile.json') .then(response => { // JSON responses are automatically parsed. console.log(response) }) .catch(e => {

我正在开发Vuejs应用程序。基于Quasar框架,在src/components/Hello.vue中 在这里,我有一个加载json文件的函数

axios.get('../assets/json/ar/myfile.json')
    .then(response => {
      // JSON responses are automatically parsed.
      console.log(response)
    })
    .catch(e => {
      this.errors.push(e)
    })
它返回错误,
GEThttp://localhost:8080/assets/json/ar/ch78.json 404(未找到)

所以我的问题是如何从src/assets文件夹获取文件?
axios.get('../assets/json/ar/myfile.json')
这一行需要更正

如果数据是静态的(在本例中),您可以通过以下方式导入:

import myFile from './json/ar/myfile.json'
console.log(myFile.someProp); // will work
据我所知,Quasar框架已经配置了
json
loader

如果数据是动态的(例如,您在编译时不知道文件名),则应将服务器域存储在config中的某个位置,并将其与动态路径连接起来。可能是这样的:

import { BASE_URL } from './config'
const lang = getCurrentLang(); // this is dynamic

axios.get(`${BASE_URL}/assets/json/${lang}/myfile.json`)
     .then()
     .catch();
在这种情况下,
/config
可能看起来像:

export const BASE_URL = 'http://localhost:8080';

我希望您的src目录不能通过调用web服务器直接使用。您对Vue使用什么构建工具?您可以对静态资产使用
import
。请参阅我为什么不在此处使用import。。