axios n'est pas définie en vue js cli
J'ai installé axios à l'aide de la npm install axios
commande c'est mon package.json
dépendances
"dependencies": {
"axios": "^0.18.0",
"bootstrap-vue": "^2.0.0-rc.11",
"vue": "^2.5.2",
"vue-router": "^3.0.1"
},
Je me suis inscrit à l'axios dans mon main.js
fichier.
import Vue from 'vue'
import VueRouter from 'vue-router'
import BootstrapVue from 'bootstrap-vue'
import axios from 'axios'
import App from './App'
import routerList from './routes'
Vue.use(axios)
Vue.use(BootstrapVue)
Vue.use(VueRouter)
Quand j'ai essayé d'utiliser axios dans un de mes composants, j'obtiens cette erreur:
Uncaught ReferenceError: axios is not defined
Comment résoudre ce problème?
- L'erreur peut être de n'importe quel fichier. Vérifiez tous les lieux que vous essayez de l'utiliser et assurez-vous de l'importer correctement partout!
Vous devez vous connecter pour publier un commentaire.
Vue.use
implique l'ajout de plugins. Cependant,axios
n'est pas un plugin pourVue
, de sorte que vous ne pouvez pas l'ajouter à l'échelle mondiale viause
.Ma recommandation est de l'importation de
axios
seulement lorsque vous en avez besoin. Mais si vous avez vraiment besoin pour accéder à l'échelle mondiale, comme vous pouvez l'ajouter à prototype.Ensuite, vous pouvez accéder à
axios
en vue à l'aide dethis.$axios
Vue
au lieu devue
, désolé pour la faute de frappeSolution 1 (Non recommandé):
Dans
main.js
, ajoutez cette ligne à la place deimport axios from 'axios'
Et supprimer
Solution 2 (Méthode Recommandée):
À l'aide de
window
est généralement considéré comme une mauvaise pratique, alors vous feriez mieux d'utiliseraxios
la manière suivante:1) Créez un dossier nommé
plugins
à l'intérieur de votresrc
répertoire.2) Ensuite, créez
axios.js
fichier à l'intérieur de ce répertoire. Nous mettrons tous nos axios logique ici et à l'utilisation d'axios une Vue plugin.3) Ajouter le texte suivant:
4) Dans
src/main.js
, ajoutez la ligne suivante:Maintenant, vous pouvez utiliser axios comme
this.$axios
dans vos composants. Donc, quelque chose commethis.$axios.get()
.Par conséquent, vous pouvez importer axios avec la ligne suivante:
Maintenant, vous pouvez utiliser
axios
directement dans votre magasin.Ou vous pouvez également l'utiliser comme Vuex plugin:
Maintenant, vous pouvez l'utiliser comme
this.$axios
en Vuex.Que c'est!
window
sauf si pas d'autres choix sont disponibles. BTW, je ne suis pas celui qui vous donnent downvotesÉgalement installer
vue-axios
et de les importer dansmain.js
Puis dans
main.js
:Maintenant, si je ne me trompe pas dans vos méthodes que vous pouvez utiliser, par exemple:
npm install vue-axios --save
puis à l'intérieur de votre partie, vous pouvez commencer à utiliser axios comme ceci:
Utiliser la commande suivante pour installer mnp
Après l'exécution de la commande ci-dessus à l'importation comme mentionné ci-dessous:
j'ai trouvé dans laravel projet
window.axios = require('axios');
lorsque je l'insère dans myproject. de tous les beaux!
Essayer ce code: