Internet Explorer 11中的JavaScript ES6

问题描述

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

它不能与箭头功能或``一起使用,但是我需要这些sintax,因为我想更舒适地工作并且对此没有任何问题。

我尝试在页面顶部和底部使用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所说:

在浏览器中进行编译的用例非常有限,因此,如果您在生产站点上工作,则应在服务器端预编译脚本。 [...]

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

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

我建议使用Webpack之类的构建系统,该构建系统配置正确,将为您执行babel脚本。

您可以将Babel用作CLI或也需要挂钩,但是为此,我将您发送到官方babel setup documentation