带 Internet Explorer 的 Babel

Babel with Internet Explorer

为什么这在 IE11 中不起作用?

我的印象是 Babel 会自动将新式代码转换为旧式代码。是否需要完成一些配置设置?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Babel Test</title>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script type="text/babel">
document.addEventListener("DOMContentLoaded", () =>
{
    (async () =>
    {
        const response = await fetch('https://jsonplaceholder.typicode.com/todos/1');
        const content = await response.json();
        alert(content.title);
    })();    
});
</script>
</head>
<body>
</body>
</html>

Babel 可以将 JavaScript 新版本的语言功能转换为旧版本中的等效语言功能。

它无法填充不受支持的 API(例如 fetch)。您需要为此找到一个明确的 fetch polyfill。


此外,浏览器端版本的 Babel 只会转换标记为 type="text/babel" 的脚本,并且(在您编辑问题之前)您没有任何这些脚本,因此您的箭头功能,asyncawait 关键字不会被转换。