【问题标题】:Standalone Babel and using arrow functions plugin?独立 Babel 并使用箭头函数插件?
【发布时间】:2018-02-21 23:15:11
【问题描述】:

我正在非节点环境中构建一个应用程序,但我想利用 Babel 的 ES6 转译,以便我可以编写更好的代码并仍然支持 IE11。

所以我继续并包含在这里找到的独立文件: https://github.com/babel/babel/tree/master/packages/babel-standalone

但您似乎还需要一个额外的插件来实际转换箭头函数语法,但当然因为我无法访问导入/导出模块功能,我不确定是否甚至可以包含这些插件。

有人知道解决这个问题的方法吗?

【问题讨论】:

  • 它与所有标准 Babel 插件和预设捆绑在一起 - 因此,它应该根据自述文件开箱即用
  • 嗯,我已将 ES 版本设置为 2017,但 IE 仍然抛出不受支持的语法错误。 Object.assign 也不起作用:/
  • Babel 只编译语法,如果你想要Object.assign,你总是想加载像 babel-polyfill 这样的 polyfill。
  • 你是对的——即使是 IE11 也很糟糕(没有 polyfill)
  • @loganfsmyth 好吧,我主要是想使用箭头函数,我只是认为不包含一个插件是不可能的,我也不认为使用内联脚本标签是不可能的,因为缺少浏览器中的模块支持。

标签: javascript ecmascript-6 babeljs


【解决方案1】:

由于您在问题中显示了零代码,并且您正在设置这个预设或那个预设(等等等等),我只能假设您做错了什么

此 HTML 在 IE 中工作

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Home</title>
    <script src="https://unpkg.com/@babel/polyfill/browser.js"></script>
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<body>
    <div id="output"></div>
    <script type="text/babel">
      const getMessage = () => "Hello World";
      document.getElementById('output').innerHTML = getMessage();
    </script>
</body>
</html>

它与你正在做的事情相比如何?

【讨论】:

    猜你喜欢
    • 2019-05-23
    • 2018-08-27
    • 2016-07-06
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 2020-06-26
    • 2016-10-01
    • 2016-04-07
    相关资源
    最近更新 更多