JavaScript Internet Explorer 11 中的 ES6

JavaScript ES6 in Internet Explorer 11

我正在尝试 运行 Internet Explorer 11 中的 Javascript 代码。

它不适用于箭头函数或 ``,但是我需要这些语法,因为我想工作得更舒服并且不会遇到一些问题。

我尝试在页面顶部和末尾使用 Babel,但我在 IE11 中总是出现相同的错误:

字符无效

这个错误是因为${}

我正在使用的库是:

<script src='https://unpkg.com/babel-standalone@6.26.0/babel.js'></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/7.10.4/polyfill.min.js" integrity="sha512-pgx+g4+yrNG/DhUEosN7ontsnk2WayfSuK1Fmy2GrqNi8ktUpIlTpKj80dCLyoEELA6c6m5otWP9RM/lq5UTQg==" crossorigin="anonymous"></script>

我做错了什么?

首先,像这样使用babel应该主要用于原型制作。正如官方 babel setup guide 所说:

Compiling in the browser has a fairly limited use case, so if you are working on a production site you should be precompiling your scripts server-side. [...]

如果你仍然想以当前方式使用 babel,请记住你需要将你的脚本标记标记为 text/babel

<script type="text/babel">
    // Your script content
</script>

我建议使用某种构建系统,例如 Webpack,正确配置后将为您执行 babel 脚本。

您可以将 Babel 用作 CLI 或 require 钩子,但为此我将您发送给官方 babel setup documentation