日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

新版vue-cli模板下本地开发环境使用node服务器跨域

發布時間:2023/12/31 vue 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 新版vue-cli模板下本地开发环境使用node服务器跨域 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

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

具體操作

  • 在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) } 復制代碼
  • 在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 打包成靜態文件后就失效了。路還很長,還請各位不吝賜教。

    總結

    以上是生活随笔為你收集整理的新版vue-cli模板下本地开发环境使用node服务器跨域的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。