react 在某些低版本安卓手机浏览器白屏解决办法

开始学习react,简单写了一个demo,react-redux,createBrowserHistory,本身测试了一下,毕竟用一个新的工具,兼容性问题是很重要的,发如今一些低版本的安卓浏览器白屏,查了一下,原来是babel的问题 react

Babel默认只转换新的JavaScript句法,对于ES6的新API,如erator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise、Async,以及一些定义在全局对象上的方法(好比Object.assign)都不会转码 npm

对于react,是引用import React from 'react'里面的有些方法不兼容,解决方案大体分为两种redux

  • 使用core-js,优势是能够针对性的引入react自己不支持的属性,对于其在业务操做中须要的其余新的api,也须要针对性引入;优势是,这样生产包会小不少api

1.下载core-js,便可解决浏览器

$ npm install core-js
复制代码

2.在入口js文件引入babel

import  'core-js/fn/Map';
import  'core-js/fn/set';
or:
import 'core-js/es/Map';
import 'core-js/es/set';
复制代码
  • 使用babel-polyfill,缺点就是包自己太大;优势是能够为当前环境提供一个垫片,几乎能够兼容全部的浏览器工具

1.下载babel-polyfill学习

$ npm install --save babel-polyfill
复制代码

2.在入口js文件最上面引入测试

import 'babel-polyfill'
复制代码

两种方法,按照上面步骤再次执行完后运行就能够了spa

提示:若是只是纯粹的想解决react自己包的兼容问题,提倡使用第一种方法
相关文章
相关标签/搜索