Pemajuan proksi tidak digunakan dalam vue

WBOY
Lepaskan: 2023-05-23 19:26:37
asal
1215 orang telah melayarinya

Apabila membangun dengan Vue, kami selalunya perlu berinteraksi dengan pelayan API bahagian belakang. Untuk mengelakkan masalah CORS (Cross-Origin Resource Sharing), pemajuan proksi biasanya digunakan dalam konfigurasi Vue untuk memajukan permintaan. Walau bagaimanapun, kadangkala kita perlu berinteraksi secara langsung dengan pelayan API tanpa menggunakan proksi Apakah yang perlu kita lakukan dalam kes ini?

1 Gunakan pustaka pihak ketiga

Jika anda tidak mahu menggunakan konfigurasi proksi lalai VueCLI, anda boleh memilih untuk menggunakan pustaka pihak ketiga untuk membuat permintaan. Sebagai contoh, kita boleh menggunakan Axios untuk berinteraksi secara langsung dengan pelayan API dengan menetapkan pengepala permintaan dan parameter yang berkaitan apabila membuat permintaan.

Pertama, kita perlu memasang Axios dalam projek Vue:

npm install axios --save
Salin selepas log masuk

Dalam komponen yang perlu membuat permintaan, kita boleh menggunakan Axios seperti ini:

import axios from 'axios'

axios.get('/api/getUserInfo', {
  headers: {
    'Content-Type': 'application/json'
  }
}).then(res => {
  console.log(res)
})
Salin selepas log masuk

Dalam kod, kami Gunakan kaedah get Axios untuk membuat permintaan, dan tetapkan pengepala permintaan kepada contentType kepada application/json. Dengan cara ini, anda boleh terus memulakan permintaan kepada pelayan API dan mendapatkan data.

2. Gunakan Pemalam Webpack

Kami juga boleh menggunakan pemalam Webpack untuk memajukan permintaan tanpa menggunakan proksi. Pelaksanaan khusus adalah untuk menyediakan pelayan tempatan untuk menggantikan pelayan proksi dengan bekerjasama dengan pemalam perisian tengah ekspres dan http-proksi-pertengahan untuk mencapai akses kepada pelayan API.

Pertama, kita perlu memasang pemalam yang berkaitan:

npm install express http-proxy-middleware --save-dev
Salin selepas log masuk

Buat fail server.js baharu dalam direktori akar projek untuk memulakan pelayan setempat:

const express = require('express')
const proxy = require('http-proxy-middleware')

const app = express()

app.use('/api', proxy({
  target: 'http://api.server.com',
  changeOrigin: true,
  pathRewrite: {
    '^/api': ''
  }
}))

app.listen(3000, () => {
  console.log('Server is running at localhost:3000')
})
Salin selepas log masuk

Di sini kita lulus Gunakan http-proxy-middleware untuk memajukan pelayan API, dan menetapkan sasaran untuk menentukan pelayan sasaran.

Kemudian, tambahkan arahan skrip dalam fail package.json untuk memulakan pelayan setempat:

"scripts": {
  "dev-server": "node server.js"
}
Salin selepas log masuk

Akhir sekali, tetapkan baseURL kepada http:// dalam konfigurasi axios dalam localhost projek Vue :3000/api, anda boleh terus memulakan permintaan kepada pelayan API:

import axios from 'axios'

axios.defaults.baseURL = 'http://localhost:3000/api'

axios.get('/getUserInfo').then(res => {
  console.log(res)
})
Salin selepas log masuk

Dengan cara ini, kami boleh terus memulakan permintaan kepada pelayan API melalui http://localhost:3000/api/getUserInfo alamat.

Ringkasan

Di atas ialah dua kaedah menggunakan Vue untuk pembangunan tanpa menggunakan pemajuan proksi. Walaupun menggunakan pemajuan proksi ialah cara yang berkesan untuk menyelesaikan CORS, dalam beberapa kes adalah lebih mudah untuk berinteraksi secara langsung dengan pelayan API. Semoga artikel ini bermanfaat kepada anda.

Atas ialah kandungan terperinci Pemajuan proksi tidak digunakan dalam vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!