vue-cli 代理服務(wù)器

ajax請求后臺數(shù)據(jù),必須要遵循同源策略:協(xié)議名、主機名、端口號必須要一致。很多情況下,后端項目和前端項目并沒有部署到同一個服務(wù)器,即便部署到了同一個服務(wù)器,由于是兩個項目,端口號也會不一樣,此時前端項目向后端項目請求資源,就違反了同源策略。此時需要后臺項目允許跨域。
前臺服務(wù)器向后臺服務(wù)器請求數(shù)據(jù),通過代理服務(wù)器。前臺服務(wù)器向代理服務(wù)器發(fā)送ajax請求,代理服務(wù)器采用原生http方式請求后臺服務(wù)器
// 導(dǎo)入express
let express = require("express");
// 創(chuàng)建一個服務(wù)器對象
let app = express();
// 開啟一個端口號
app.listen(5566, () => {
  console.log("服務(wù)器成功開啟!端口號5566");
});

//配置中間件,攔截所有的請求
app.use((req, res, next) => {
  //允許跨域
  // res.setHeader("Access-Control-Allow-Origin", "*");
  next();
});

//學(xué)生數(shù)組
let stus = [
  {
    no: "1001",
    name: "張三",
    age: 20,
    sex: "男",
  },
  {
    no: "1002",
    name: "李四",
    age: 22,
    sex: "女",
  },
  {
    no: "1003",
    name: "王五",
    age: 24,
    sex: "男",
  },
]

// 定義一個get請求接口
app.get("/list", (req, res) => {
  res.send(stus);
});
// 導(dǎo)入express
let express = require("express");
// 創(chuàng)建一個服務(wù)器對象
let app = express();
// 開啟一個端口號
app.listen(7788, () => {
  console.log("服務(wù)器成功開啟!端口號7788");
});

//配置中間件,攔截所有的請求
app.use((req, res, next) => {
  //允許跨域
  // res.setHeader("Access-Control-Allow-Origin", "*");
  next();
});

//汽車數(shù)組
let cars = [
    {
      id: "1001",
      name: "奔馳"
    },
    {
      id: "1002",
      name: "寶馬"
    },
    {
      id: "1003",
      name: "奧迪"
    },
  ]

// 定義一個get請求接口
app.get("/list", (req, res) => {
  res.send(cars);
});

配置代理服務(wù)器

module.exports = {
    //取消eslint語法檢查
    lintOnSave:false,
    //devServer是腳手架中的開發(fā)服務(wù)器
    devServer:{
        //配置主機名
        host:'localhost',
        //配置端口號
        port:'8080',
        //在開發(fā)服務(wù)器中,配置一個代理服務(wù)器地址。
        //注意:在開發(fā)階段,通過向當前開發(fā)服務(wù)器發(fā)送ajax請求,當前服務(wù)器會將請求轉(zhuǎn)發(fā)給配置的代理服務(wù)器地址。
        // proxy:'http://localhost:5566'
        // 配置多個代理服務(wù)器地址
        proxy:{
            // /stu是前綴
            '/stu':{
                //代理的地址
                target:'http://localhost:5566',
                //路徑重寫,因為向真實的后臺發(fā)送請求時,不需要加前綴
                pathRewrite:{
                    //將地址中,/stu替換成空
                    '^/stu':''
                }
            },
            '/car':{
                target:'http://localhost:7788',
                pathRewrite:{
                    '^/car':''
                }
            }
        }
    },
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容