javascript - require 未定义,使用 polyfill 来修复Promise 未在 IE 11 上定义

标签 javascript babel-polyfill

我在 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 pluginimport '@babel/polyfill' 语法转换为浏览器可以理解的语法。

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

相关文章:

javascript - 为什么context和rootjQuery可以执行 '||'操作?并且返回的结果不是boolean类型?

javascript - 将参数绑定(bind)到函数 javascript

babeljs - Vue CLI 3 + Vuetify - 不适用于 IE 11(Babel 不转译?)

javascript - 如何使用 babel 7 添加 flatMap?

javascript - IE11对象不支持属性或方法'Symbol(Symbol.iterator)_a.2p3bca3ct9h

javascript - jQuery 鼠标悬停功能无法正常工作

javascript - 使用 JavaScript 让 div 始终位于顶部

jestjs - .flat 不仅仅是 Jest 功能

javascript - 在 debian Nginx 上安装 Closure Compiler

babeljs - react 样板 : Uncaught RangeError: Maximum call stack size exceeded