我在 Internet Explorer 11 上收到错误消息 Promise is not Define
,我已经使用 npm 安装了 babel-polyfill
来修复它,并且我在顶部 op 上设置 js(简单的 js 文件,不是 Angular 或任何其他框架)文件,该文件包含在此代码中
require("@babel/polyfill");
但是我得到require is not Defined
。我如何必须包含polyfill?
最佳答案
为了能够使用 require
或 ES6 的 import
,您需要一个像 webpack、parcel.js 或 rollup 这样的 bundler 。
要在没有捆绑程序的情况下使用polyfills,您需要在您自己的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 - require 未定义,使用 polyfill 来修复Promise 未在 IE 11 上定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52294315/