使用create-react-app构建的项目(并引入react-app-polyfill做IE兼容)在开发环境下的IE浏览器中报错的解决方案

但使书种多,会有岁稔时。这篇文章主要讲述使用create-react-app构建的项目(并引入react-app-polyfill做IE兼容)在开发环境下的IE浏览器中报错的解决方案相关的知识,希望能为你提供帮助。
【使用create-react-app构建的项目(并引入react-app-polyfill做IE兼容)在开发环境下的IE浏览器中报错的解决方案】个人所负责的一个项目,需要兼容IE11,所以已经按照react-app-polyfill官方指定的方案进行兼容配置
即在项目src/index.js中:

// The first lines in src/index.js import \'react-app-polyfill/ie11\'; import \'react-app-polyfill/stable\'; // other codes

并在package.json 中的 "browserslist"字段加入了对IE11的支持。
上述配置在yarn build(生产环境)之后是没有问题的,但开发环境下IE11依旧报错。
* 有一种处理方案是public/index.html中的< head> 里引入一些必要的兼容性js文件,如es6-sham、es-shim等,防止一些代码先于src/index.js执行。
但这种方案在本人的项目中还是遇到了问题,开发环境下IE11依然无法访问。
 
最后,我所使用的解决方案(感谢提出该方案的同学)是这种:
1. 在项目中的 node_modules 文件夹下找到 react-dev-utils 包;
2. 找到此包的 webpackHotDevClient.js  这个文件中第60行;
3. 按照下图,添加一个 slashes 参数 (true)
使用create-react-app构建的项目(并引入react-app-polyfill做IE兼容)在开发环境下的IE浏览器中报错的解决方案

文章图片

4. yarn start后,如果此时在IE11中访问依然看到的空白页面,但控制台无报错,刷新下页面应该就可以了

以上总结的两种比较好的处理方案,希望对大家有帮助!

    推荐阅读