create-react-app ios8系统中页面空白/样式错乱问题

1. 空白问题

因为缺少polyfill

在public/index.html 中引入如下js 

<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-sham.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.34.2/es6-shim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es6-shim/0.34.2/es6-sham.min.js"></script>
-----以上方案可行
 
备注:安装 npm install ‘@babel/polyfill‘ 并 import ‘@babel/polyfill‘ 会在import行中提示 无法找到‘@types/babel__polyfill‘的声明文件(并未找到解决方案)

 

 

2. 样式错乱问题

package.json文件中 browserslist 表示兼容到浏览器什么版本

npx browserslist 可以查看项目支持的浏览器版本信息

ios8系统的 safari版本是ios8 

修改如下

"browserslist": [
"since 2014"
]
可以支持到 2014年的所有浏览器
为了支持 safari 8
修改如下,增加"safari >= 8",只对safari做特殊处理
"browserslist": [
">0.2%",
"not dead",
"safari >= 8",
"not ie <= 9",
"not op_mini all"
]
 
不能写 "not safari < 8"
因为其他条件的限制,只允许兼容到 safari 10.1

safari 12
safari 11.1
safari 10.1

 
----------------------------
https://www.jianshu.com/p/bd9cb7861b85   browserslist 目标浏览器配置表

 

create-react-app ios8系统中页面空白/样式错乱问题

上一篇:spring中获取ApplicationContext对象的技巧,含源码说明


下一篇:js,计算,函数