1

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

require("@babel/polyfill");

但我明白require is not defined了。我必须如何包含 polyfill?

4

1 回答 1

3

为了能够使用requireES6 import,你需要一个像 webpack、parcel.js 或 rollup 这样的打包工具。

要在没有捆绑器的情况下使用 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>

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

如果你已经在使用 babel 进行编译,你也可以使用这个插件import '@babel/polyfill'语法转换为浏览器可以理解的内容。

于 2018-09-12T11:55:24.047 回答