Maison > interface Web > js tutoriel > Explication détaillée des étapes pour introduire vue-cli et configurer axios

Explication détaillée des étapes pour introduire vue-cli et configurer axios

php中世界最好的语言
Libérer: 2018-05-23 10:41:29
original
4383 Les gens l'ont consulté

Cette fois, je vais vous donner une explication détaillée des étapes pour introduire vue-cli et configurer axios Quelles sont les précautions pour introduire vue-cli et configurer axios. Ce qui suit est un cas pratique, jetons un coup d'oeil.

1. Installez axios avec npm, installez-le dans le répertoire racine du fichier, les instructions sont les suivantes

npm install axios --save-dev 

2. Modifiez la chaîne de prototypes et introduisez axios. dans main.js

import axios from 'axios' 

Puis réécrivez axios comme attribut prototype de Vue,

Vue.prototype.$http=axios 

De cette façon, il peut être appelé dans les méthodes de chaque composant. La commande $http complète la demande de données

3. Utilisation dans le composant

methods: { 
   get(){ 
    this.$http({ 
     method:'get', 
     url:'/url', 
     data:{} 
    }).then(function(res){ 
     console.log(res) 
    }).catch(function(err){ 
     console.log(err) 
    }) 
     
    this.$http.get('/url').then(function(res){ 
     console.log(res) 
    }).catch(function(err){ 
     console.log(err) 
    }) 
   }    
}
Copier après la connexion

Veuillez vous référer au document suivant pour la configuration d'axios, cliquez pour ouvrir le lien

Laissez-moi vous présenter comment configurer axios avec vue-cli

1.

npm install axios --save

2.

npm install @type/axios --save-dev(使用ts编写的需要此声明文件,升级的axios好像不需要了,已经自带)
Copier après la connexion

3.

Ajoutez le fichier axios.ts dans le répertoire src, contenu :

import axios from 'axios'
import {Notification} from 'element-ui'
import store from './store/index'
import buildconf from '../config/build.rootpath.js'
axios.defaults.withCredentials = true;
axios.defaults.baseURL = buildconf.serverUrl
// axios.defaults.baseURL = 'http://gsblackwidow.chinacloudsites.cn/'
axios.interceptors.request.use(function(config) {
 // document.getElementById('g-loader').style.display = 'flex'
 store.commit('requestModify', 1)
 return config;
}, function(error){
 return Promise.reject(error)
})
axios.interceptors.response.use(function(response){
 store.commit('requestModify', -1)
 // document.getElementById('g-loader').style.display = 'none' 
 return response.data;
}, function(error){
 store.commit('requestModify', -1) 
 // document.getElementById('g-loader').style.display = 'none'  
 if(error.response.status === 401){
  Notification({
   title: '权限无效',
   message: '您的用户信息已经失效, 请重新登录',
   type: 'warning',
   offset: 48
  });
  window.location.href = '/#/login'
 }else{
  Notification({
   title: '请求错误',
   message: `${error.response.status} \n ${error.config.url}`,
   type: 'error',
   offset: 48,
  })
 }
 return Promise.reject(error)
})
export default axios
Copier après la connexion

4.

Créez une nouvelle vue.d.ts dans le dossier types Fichier, contenu :

import {AxiosStatic, AxiosInstance } from 'axios'
declare module 'vue/types/vue' {
 interface Vue {
  $axios: AxiosStatic;
 }
}
Copier après la connexion

De cette façon, axios peut être utilisé dans chaque module via this.$axios

Parmi eux, axios :

1. Contenu build.rootpath .js :

var path = require('path')
var rootpath = path.resolve(dirname, '../dist')
module.exports = rootpath
Copier après la connexion

2 Le magasin est un fichier vuex, vous devez donc installer vuex dans. avance

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour un contenu plus passionnant, veuillez faire attention à php Chinois Autres articles connexes en ligne !

Lecture recommandée :

Résumé des algorithmes courants tels que l'accumulation, l'itération, l'épuisement, la récursivité JS, etc.

Analyse du code de configuration de React Family Bucket Environment

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal