带 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"
的脚本,并且(在您编辑问题之前)您没有任何这些脚本,因此您的箭头功能,async
和 await
关键字不会被转换。
为什么这在 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"
的脚本,并且(在您编辑问题之前)您没有任何这些脚本,因此您的箭头功能,async
和 await
关键字不会被转换。