问题背景
本地开发需要联调线上地址,使用vite中的反向代理对线上地址进行跨域处理。结果浏览器还是报跨域的问题 No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
解决方案
- Mac用户 打开终端 输入
open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=/tmp
open -n: 这是 macOS 中的一个命令,用于打开应用程序。
/Applications/Google\ Chrome.app/: 这是 Google Chrome 浏览器的应用程序位置。
–args: 这是一个标志,表示后面的参数将传递给应用程序。
–disable-web-security: 这是 Chrome 浏览器的一个参数,用于禁用浏览器的同源策略。这意味着浏览器将不再强制执行来自不同源的网页间的安全策略,这可能有助于开发人员在本地测试跨域请求。
–user-data-dir=/tmp: 这也是 Chrome 浏览器的一个参数,它指定了用户数据目录的位置。在这里,用户数据被指定为 /tmp 目录,这意味着 Chrome 将在每次启动时使用临时目录中的新用户数据,而不是默认的用户数据目录。
执行完毕, 当看到浏览器顶部有提示则说明取消跨域成功
- Windows用户 复制一个新的chrome浏览器快捷方式, 右键打开属性,在目标地址后面加上如下参数:
--args --disable-web-security --user-data-dir=C:/tmp
tip:C:/tmp 可以指定自己的目录位置 用于存放临时的用户数据
目标地址: “C:\Users\ThinkPad\AppData\Local\Google\Chrome\Application\chrome.exe”
加完后目标地址: “C:\Users\ThinkPad\AppData\Local\Google\Chrome\Application\chrome.exe” --args --disable-web-security --user-data-dir=C:/tmp
执行完毕, 当看到浏览器顶部有提示则说明取消跨域成功