Babel不处理Array.from或'for ... of'循环

Zac*_*bey 15 babeljs

我正在使用带有gulp(.pipe($.babel()))的babel ,它似乎适用于大多数事情,但不适用于Array.from.

它在运行时工作正常babel-node:

$ ./node_modules/babel/bin/babel-node.js
> Array.from
[Function: from]
Run Code Online (Sandbox Code Playgroud)

但是当使用gulp处理以下代码时:

var foo = () => { console.log(Array.from) }
Run Code Online (Sandbox Code Playgroud)

转化的来源是:

var foo = function foo() {
    console.log(Array.from);
};
Run Code Online (Sandbox Code Playgroud)

我执行时的控制台输出foo是:

未定义

Zac*_*bey 12

在写完我的问题时结束了解决这个问题,但我想我已经完成并回答自己以帮助未来的搜索者:

由于ES5的限制,babel的某些功能需要在浏览器中加载polyfill.这是自动加载的,babel-node或者您可以包含babel-polyfill.

一些需要填充的功能:

  • 摘要参考文献
  • 数组解构
  • 异步功能
  • 推导
  • 为了
  • Array.from
  • 传播