最近公司搞一个h5项目、又一个扫码的功能、要调用终端设备,因为对方的开发人员没在这边、所以让我来写一个rn的套壳app、跑一边流程;结果打包完、给我静态资源后、发现白屏;
因为此项目也要能离线访问、所以需要将静态资源直接嵌入到webview中、所以让他们直接打包完之后,把文件发给我了;
一开始白屏、我以为是我写的webview的问题做了一下工作;
1、写了html嵌入进去没问题、
2、写了node本地服务、把文件托管到静态服务上、嵌入对应地址,没问题;
我想可能是h5有问题、于是我嵌入他们的本地开发地址、发现是可以的;
然后我又打开他们发我的dist下的index.html 发现本地浏览器打开也是白屏;报如下错误
原来他们打包出来的包、路由使用了history模式、恍然大悟;如果是history模式,比如进入项目要redirect到/login下、那么会把/login当作get请求去获取对应资源地址、如果在服务器、那么返回index.html 做渲染、在本地是没法请求的;所以这种模式也是错误的;
于是让他们改成hash模式、打包发我ok