首页 > 解决方案 > 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>

我在做什么坏事?

标签: javascriptbabeljsbabel-polyfill

解决方案


首先,像这样使用 babel 应该主要用于原型设计。正如官方babel 设置指南所说:

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

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

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

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

您可以将 Babel 用作 CLI 或 require hook,但为此我将您发送到官方babel 设置文档


推荐阅读