我在Internet Explorer 11上收到错误消息Promise is not defined,为了修复它,我在npm上安装了babel-polyfill,并在顶部设置了js(简单js文件,而不是angular或任何其他框架) )文件包含在该代码中

require("@babel/polyfill");


但我得到require is not defined。如何包含polyfill?

最佳答案

为了能够使用require或ES6的import,您将需要打包程序,例如webpack,parcel.js或汇总。

要在没有捆绑程序的情况下使用polyfill,您需要在自己的JS之前的HTML中包含以下脚本:

https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/7.0.0/polyfill.min.js


因此,添加一个script标记:

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/7.0.0/polyfill.min.js"></script>


在那种情况下,您当然可以从自己的JS中删除该行require("@babel/polyfill");

如果您已经在使用babel进行转译,则还可以使用this pluginimport '@babel/polyfill'语法转换为浏览器可以理解的语法。

关于javascript - 未使用polyfill来定义require来修复Promise未在IE 11上定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52294315/

10-12 01:02