首先要說下,跨域分為開發環境和生產環境:
- 開發環境:解決跨域通常是在配置文件中使用proxy進行反代理(這個根據具體的vue版本具體配置不同,最好去官網搜索)
- 生產環境:通常需要使用反代理了(網上搜的)
而我這里本地開發使用的是電腦的iis服務器,經過網上查詢使用,解決如下:
1.下載安裝ARR,地址為https://www.iis.net/downloads/microsoft/application-request-routing
2.下載安裝urlrewrite,地址為https://www.iis.net/downloads/microsoft/url-rewrite
3.配置ARR
以上安裝完后,重新打開iis,按下圖紅框操作
4.配置url重寫,網上好多是直接在網站的重寫里面配置的,這里可以直接在打包的dist目錄下增加一個web.config文件(下面代碼最開始是解決mode是history,頁面空白的問題,現在增加反代理直接就在這里增加了)
我的后端接口路徑是http://192.168.1.101:8000/對應接口名字
注意:在打包時訪問接口要對應其服務器的url,通常我們會根據開發環境或生產環境配置baseUrl,進而對axios進行封裝
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="url" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="http://192.168.1.101:8000/{R:0}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>