這個顯然是處理前端跨域最優(yōu)的方法了,在此記錄下來方便以后使用,附送scss 轉(zhuǎn) css
前提
使用 vscode IDE作為編寫工具
步驟
1.搜索并加載 vscode 插件 live server
2.要文件根目錄創(chuàng)建 ".vscode" 目錄
3.在 .vscode 目錄下創(chuàng)建settings.json
4.proxUri 為代理的目標(biāo)地址
5.baseUri 識別代理的符號 (如下例中 baseUri: '/api', 則以"/api"開頭的網(wǎng)絡(luò)請求都將被識別為需要代理轉(zhuǎn)發(fā)的地址,并把 ‘/api’重寫為空"")
{
"easysass.formats": [
{
"format": "expanded",
// "extension": ".css"
}
],
"liveServer.settings.host": "localhost",
"liveServer.settings.proxy": {
"enable": true,
"baseUri": "/api",
"proxyUri": "http://127.0.0.1:7001"http://測試
},
"liveServer.settings.donotVerifyTags": true,
"window.zoomLevel": 0,
}
后記
跨域與同源策略
1.ajax請求會受到瀏覽器同源策略的限制(同源 = 域名 + 端口 都一致)
2.ajax請求默認(rèn)攜帶 同源下的所有cookie, 如果不做限制 a 去請求 b 的時候就等于把a(bǔ)所有的cookie 都告訴b。
3.同源下: 張三的網(wǎng)站只能訪問張三的內(nèi)容如鞋子衣服吃飯等等,如果想訪問李四的,瀏覽器就不讓你干了。如果充許這么干的話,張三的cookie隱私將直接暴露給李四,李四有可能干一些不懷好意的事情。
4.跨域情況:張三把錢都放在李四那里,現(xiàn)在張三想去李四那邊取錢,這時候就需要跨域了。
5.跨域怎么解決呢?接下來把解決問題的思路簡單描繪一下。
5.1:李四告訴全世界說我對錢不感興趣,只要我有,你們所有人都隨便來取。因此,當(dāng)瀏覽器看到張三要取錢的人是李四這種慈善家,就不再攔著你了。
5.2:李四不是慈善家怎么辦?于是張三這個時候就很討厭瀏覽器,想了個辦法繞過瀏覽器,然后另外找了個代理去跟李四取錢
5.2.1: 問題是繞過瀏覽器?怎么繞呢? 于是張三自己建了個服務(wù)器,每次要跟李四取錢的時候就欺騙瀏覽器說我要跟自己的服務(wù)器取錢,瀏覽器這個時候也就不再攔著你了
5.2.2:當(dāng)張三自己的服務(wù)器接收到跟李四取錢任務(wù)后,就以proxy代理的身份向李四取錢,取完錢之后再通過瀏覽器給了張三
5.2.3:vscode 中的live server 插件里面就這個代理向李四取錢的代理服務(wù)器功能,本文settings.json 中包含了配置信息
6.當(dāng)然還有一些很多牛叉的解決跨域的方法。若有興趣的同學(xué)可以一起研究探討。