【问题标题】:Uncaught ReferenceError: axios is not defined in Vue.jsUncaught ReferenceError: axios 没有在 Vue.js 中定义
【发布时间】:2019-06-13 21:15:53
【问题描述】:

我正在参考以下教程创建一个 SPA 应用程序。

http://voerro.com/en/tutorials/r/building-spas-with-laravel-5-and-vuejs-2/1

直到昨天首页显示没有错误。 但是,今天我再次启动虚拟机并访问它, 出现以下 javascript 错误。

Uncaught ReferenceError: axios is not defined
at new Auth (app.js:53626)
at Module../resources/js/app.js (app.js:53554)
at __webpack_require__ (app.js:20)
at Object.0 (app.js:54214)
at __webpack_require__ (app.js:20)
at app.js:84
at app.js:87

我尝试查看 Git 的日志,但没有任何历史记录发生变化。

你知道如何解决这个问题吗?

class Auth {
constructor () {
  this.token = window.localStorage.getItem('token');
  let userData = window.localStorage.getItem('user');
  this.user = userData ? JSON.parse(userData) : null;

  if (this.token) {
      axios.defaults.headers.common['Authorization'] = 'Bearer ' + this.token; // <-this is the error point
  }
}

....

export default Auth;

app.js

 import Vue from 'vue'
 import VueRouter from 'vue-router'
 import Auth from './auth.js'
 import Api from './api.js';

 window.api = new Api();
 window.auth = new Auth();

 Vue.use(VueRouter);

bootstrap.js

window.axios = require('axios');

window.axios.defaults.headers.common['X-Requested-With'] = 
'XMLHttpRequest';

【问题讨论】:

  • 您可以通过简单地删除node_modulespublic/js 目录,然后删除npm installnpm run dev 来节省尝试调试的时间。
  • 感谢您的回复。我尝试了 npm install & npm run dev 但没有成功。我也试过 npm install axios & npm run dev,但也没有用。
  • 对不起,我帮不上忙。这很奇怪,它只是停止工作。仔细检查以确保您没有意外更改代码。此外,您始终可以尝试运行vagrant reload --provision 并重新尝试编译您的资产。此外,如果您要重新安装/重新编译,请从 VM 框内进行。
  • bootstrap.js 是否在加载 auth.js 之前运行?如果不是 axios 在使用前没有全局定义
  • @MattWohler 谢谢。我不知道为什么,但我用 vagrant reload --provision 解决了它。无论如何谢谢你!

标签: laravel vue.js axios


【解决方案1】:

使用window.axiosimport axios from 'axios'vue.prototype.$axios = axios。这是一个范围界定问题。不要依赖全局变量。

【讨论】:

    【解决方案2】:

    我意识到问题是由于注释掉或删除引起的

    require('./bootstrap'); /****in app.js ***/
    

    如果你在 Laravel 中使用 Vue。

    注意:这不是用于 UI 的 twitter Bootstrap

    【讨论】:

    • 我什至不认为这不是 twitter 引导程序,只是评论了它,你是救生员!
    猜你喜欢
    • 1970-01-01
    • 2019-12-18
    • 2017-08-04
    • 1970-01-01
    • 2021-12-12
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多