我在Internet Explorer 11上收到错误消息Promise is not defined
,我安装了babel-polyfill
和npm来修复它,并在顶部设置了js(简单js文件) ,而不是此代码中包含的文件
require("@babel/polyfill");
但是我得到了require is not defined
。如何包含polyfill?
答案 0 :(得分:2)
要使用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'
语法转换为浏览器可以理解的内容。