我在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 plugin将
import '@babel/polyfill'
语法转换为浏览器可以理解的语法。关于javascript - 未使用polyfill来定义require来修复Promise未在IE 11上定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52294315/