vue/cli 3.0 beta使用axios无法获取

1.代码
created: function() {

this.axios
  .get("/src/assets/Merch.json")
  .then(response => {
    let Merchs = response.data.Merch;
    /*      this.answers = response.topic_answer; */
    console.log(this.answers);
    console.log(Merchs);
  })
  .catch(error => {
    console.log(error);
  });
  

2.问题提示
xhr.js?ec6c:178 GET http://localhost:8080/src/assets/Merch.json 404 (Not Found)
Error: Request failed with status code 404

at createError (createError.js?16d0:16)
at settle (settle.js?db52:18)
at XMLHttpRequest.handleLoad (xhr.js?ec6c:77)
  
  vue-cli 2.X版本可以,换到3.0就会遇到这个问题,求大神解释一下
阅读 8.3k
3 个回答

vue/cli 3和之前的架构不一样了,有点类似于create-react-app脚手架的组织方式。
如果你是相对路径引入的话,webpack会帮你处理,官方也建议使用相对路径。
绝对路径的的话,相关文件需要放到public目录下。

clipboard.png

把 Merch.json 文件放到 static 目录下,然后

axios.get('http://localhost:8080/static/Merch.json')

错误信息是路径找不到,就是路径写错了,vue开发环境和生产环境下资源路径会发生改变,具体要看你的项目结构是怎样的。

一般都是放在static下

axios.get('/static/...')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题