背景
第一次尝试react框架,在本地调试前端npm start,调用后端接口采用设置host 127.0.0.1 local-fishci2.alibaba.net,前端代码配置如下可完美解决本地跨域问题。
因为是自建平台且只需要部署daily环境,通过def部署前端工程后,遇到了HTTP和HTTPS协议不匹配,因为def部署后是https的,而我的服务端工程部署在daily环境默认都是http的。一开始以为是协议问题,但也没打算部署到线上环境,那样成本太大。最后发现是因为跨域了。于是“坑”就由此开始了.....
截止目前还是有个巨坑,对一只好无前端专业功底的小菜鸡的我来说太难了,希望能有同学能帮忙答疑解决一下。
跨域遇到的坑
坑一:This request has been blocked:the content must be served over HTTPS.
问了开发,告诉我如果解决跨域也就自然解决该问题了,这样的block是浏览器行为,无法提供服务端设置Access-Control-Allow-Origin解决问题。
解决方案:把页面拷贝到后端工程。
一开始以为迁移那么多页面和资源任务非常繁重,最后发现不需要。因为react pc代码多为单页面应用,只需要拷贝以下代码放到后端