国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

新版vue-cli模板下本地開發環境使用node服務器跨域的方法

2019-11-19 14:04:08
字體:
來源:轉載
供稿:網友

背景

我們都知道瀏覽器有一個既核心也最基本的安全功能,即同源策略。同源分別是:協議,域名,端口。如果瀏覽器訪問服務器不同源的話,就會訪問不到數據。那開發中常常訪問的服務器不同源,那么可以借助一個服務器當做中介來訪問需要訪問的服務器從而獲得數據。因為同源策略是瀏覽器的安全機制,而服務器之間是不受此限制的。之前vue-cli模板build文件夾下有dev-serve.js文件,可以在此文件中配置本地node服務器實現跨域,現在的模板下沒有此文件,那我們該如何使用node跨域呢?不逼逼,上方法。

具體操作

1、在build文件夾下面新建一個dev-serve.js文件,其中添加代碼如下:

'use strict'const express = require('express')const axios = require('axios')module.exports = function () {  let app = express()  app.get('/api/getDiscList', (req, res) => {    let url = '請求地址'    axios.get(url, {      headers: {      //這里請求的是QQ音樂的接口,帶上下面參數是為了騙服務器是自己人        referer: 'https://c.y.qq.com/',        host: 'c.y.qq.com'      },      params: req.query    }).then((response) => {      res.json(response.data)    }).catch((e) => {      console.log(e)    })  })  app.listen(3000)}

2、在build.js中引入并且運行只需要在最上面添加 require('./dev-serve.js')()

當我們npm run dev運行項目的時候,node服務器就會啟動自動監聽3000端口

3.本地發送ajax請求,就可以通過node服務器訪問到數據,請求我使用的是axios。請求如下:

import axios from 'axios'function getDiscList() {    const data = {    //...請求參數  }  return axios.get('/api/getDiscList', {    params: data  }).then(res => {    return Promise.resolve(res.data)  })}

請求到數據如下:

結語

如此就簡單實現了本地node服務器跨域,在開發環境下是可以請求到數據,但是npm run build 打包成靜態文件后就失效了。路還很長,還請各位不吝賜教。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 旬邑县| 罗山县| 英德市| 雷山县| 京山县| 石城县| 成安县| 大足县| 丰县| 阿拉善盟| 九台市| 类乌齐县| 曲周县| 平果县| 淮北市| 呼伦贝尔市| 甘洛县| 绥芬河市| 彭阳县| 阜阳市| 城步| 滦南县| 赞皇县| 莱州市| 台江县| 福海县| 望都县| 县级市| 阿拉善右旗| 肥东县| 峨眉山市| 华蓥市| 抚远县| 古浪县| 广饶县| 当雄县| 会理县| 塔城市| 米易县| 无为县| 镇原县|