最近在使用flutter for web开发项目,遇到了调用第三方api跨域的问题,由于不能够修改第三方服务器的同源策略。只能在本地寻找Flutter的跨域解决方案,找了很多文章,终于在yk3372大神的 https://juejin.im/post/5e5d1674e51d4526c1481991 方案中,实现了跨域调试。
Chrome虽然可以设置 --disable-web-security --user-data-dir 命令跨域启动,具体设置方式不再做赘述,但是我用的是VSCode,直接run起来的Chrome是没有跨域启动的,虽然我也尝试了去修改flutter根目录的Chrome.dart源文件,但是好像并没有起到什么效果。https://www.jianshu.com/p/a7e4dc5b61f6,具体设置方式在这片博客有介绍,我也尝试了yk3372所说的安装Chrome插件的方式,还是同样的问题,run起来的Chrome没有开启插件选项,同时也关闭了下图所示的各种launch选项,run起来依旧是没有插件可以选择,跨域模式也同样没有启动,按道理来说,设置Chrome的启动项是可以实现跨域模式启动,即使打开--disable-web-security这一选项依旧没有生效,目前还找不到原因,有知道的小伙伴可以下方留言交流探讨。
最终还是采用了 dart设置中间件服务的方式,实现了跨域调试。具体实现方式可以去 https://juejin.im/post/5e5d1674e51d4526c1481991 这里查看。