Comment résoudre le proxy inter-domaines vue2.0

王林
Libérer: 2023-05-23 22:47:38
original
1447 Les gens l'ont consulté

Dans le modèle de développement où le front-end et le back-end sont séparés, le front-end obtient généralement des données via des requêtes Ajax adressées à l'interface d'arrière-plan. Cependant, en raison de la restriction de la politique de même origine, le frontal ne peut demander que des interfaces sous le même nom de domaine et ne peut pas demander directement des interfaces sous d'autres noms de domaine. C'est ce qu'on appelle le problème inter-domaines.

Afin de résoudre les problèmes inter-domaines, nous pouvons utiliser la technologie proxy inter-domaines. Dans Vue2.0, un proxy inter-domaines peut être implémenté en configurant la proxyTable de webpack. Ci-dessous, nous présenterons en détail comment configurer le proxy inter-domaines dans Vue2.0.

  1. Installer http-proxy-middleware

http-proxy-middleware est un middleware proxy Node.js qui peut transmettre le proxy de requête au serveur cible pour réaliser des requêtes inter-domaines. Nous devons d'abord installer http-proxy-middleware :

npm install http-proxy-middleware --save-dev
Copier après la connexion
  1. Configure proxyTable

Dans les projets Vue2.0, le fichier de configuration du webpack se trouve généralement dans le fichier config/index.js dans le répertoire racine du projet. Nous devons configurer proxyTable dans ce fichier :

dev: {
  // ...
  proxyTable: {
    '/api': {
      target: 'http://127.0.0.1:3000', // 目标服务器地址
      changeOrigin: true,  // 是否改变请求源
      pathRewrite: {
        '^/api': ''  // 路径重写
      }
    }
  }
},
Copier après la connexion

Dans le code ci-dessus, nous configurons une règle de proxy pour proxy les requêtes commençant par /api vers le serveur cible spécifié. Si l'URL demandée est /api/user, elle sera transmise par proxy à l'interface http://127.0.0.1:3000/user. changeOrigin est utilisé pour définir le champ hôte dans l'en-tête de la requête, pathRewrite est utilisé pour réécrire le chemin et supprimer le préfixe /api.

  1. Configurer package.json

Dans le fichier package.json, nous devons ajouter le code suivant :

"scripts": {
  "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
  "start": "npm run dev"
},
Copier après la connexion

Cela nous permettra de démarrer le serveur de développement à l'aide de la commande npm run dev, et les règles de proxy seront automatiquement chargé et utilisé.

  1. Utilisation de proxys dans les fichiers Vue

Dans les composants Vue à fichier unique qui doivent utiliser des requêtes inter-domaines, nous pouvons directement utiliser le préfixe /api défini dans les règles de proxy pour demander des données, comme indiqué ci-dessous :

// 请求当前登录用户信息
axios.get('/api/user').then(response => {
  this.user = response.data
}).catch(error => {
  console.log(error)
})
Copier après la connexion

Ci-dessus, voici les étapes détaillées pour configurer le proxy inter-domaines dans Vue2.0. En utilisant des règles de proxy, nous pouvons demander avec succès des interfaces sous d'autres noms de domaine dans l'environnement de développement, ce qui facilite le développement collaboratif du front-end et du back-end.

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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!