最近,由于webpack清单文件中包含refs/heads
,而IE11无法运行,因此我们的构建已停止在IE11上运行。
我对此进行了研究,发现.includes
在其代码中使用了react-datepicker
,但是在我们的.includes()
文件中,它对其进行了转换,因此其中没有任何内容,仅在清单文件中。
如果我从Webpack中删除清单文件,则错误将移至main.app.js
文件,并显示main.app.js
。此错误来自object doesn't support property or method includes
的camelCase.js。我觉得这是鲱鱼,但不是完全确定。
我不确定这是Webpack问题还是babel或插件错误。
以前有没有人经历过并且知道如何解决?
到目前为止我已经完成的步骤:
我已在package.json中锁定对版本16.3.0的反应。
我降级了redux-actions
插件。
我已从清单文件中删除了清单文件。
我尝试更新react-datepicker
。
我尝试降级redux-actions
这是我的webpack文件:
redux-actions
答案 0 :(得分:2)
我建议您使用一个polyfill在运行时添加对有问题的API(例如Array.includes())的支持,而不是尝试摆脱引起Internet Explorer 11不兼容问题的库。
可能最流行的解决方案是Babel Polyfill。
您可以通过在页面的HTML代码中添加以下脚本标记来使用它:
<script nomodule src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.26.0/polyfill.min.js" integrity="sha256-WRc/eG3R84AverJv0zmqxAmdwQxstUpqkiE+avJ3WSo=" crossorigin="anonymous"></script>
请注意属性 nomodule ,这是为了确保仅不支持ES2015模块的浏览器才实际加载polyfill,即IE11。
现代浏览器(Chrome,Firefox,Safari等)将仅忽略脚本标签,而不会给用户带来额外的下载负担。