Babel 没有处理 Array.from 或 'for ... of' 循环
Babel is not processing Array.from or 'for ... of' loops
我将 babel 与 gulp (.pipe($.babel())
) 一起使用,它似乎适用于大多数情况,但不适用于 Array.from
。
当运行 babel-node
:
时工作正常
$ ./node_modules/babel/bin/babel-node.js
> Array.from
[Function: from]
但是当用gulp处理下面的代码时:
var foo = () => { console.log(Array.from) }
转译源是:
var foo = function foo() {
console.log(Array.from);
};
而我执行foo
时的控制台输出是:
undefined
在写我的问题时自己解决了这个问题,但我想我会完成并自己回答以帮助未来的搜索者:
由于 ES5 的限制,babel 的某些功能需要在浏览器中加载 polyfill。这是在 babel-node
中自动加载的,或者您可以包含 babel-polyfill.
一些需要 polyfill 的功能:
- 摘要参考
- 数组解构
- 异步函数
- 理解
- 对于
- Array.from
- 传播
我将 babel 与 gulp (.pipe($.babel())
) 一起使用,它似乎适用于大多数情况,但不适用于 Array.from
。
当运行 babel-node
:
$ ./node_modules/babel/bin/babel-node.js
> Array.from
[Function: from]
但是当用gulp处理下面的代码时:
var foo = () => { console.log(Array.from) }
转译源是:
var foo = function foo() {
console.log(Array.from);
};
而我执行foo
时的控制台输出是:
undefined
在写我的问题时自己解决了这个问题,但我想我会完成并自己回答以帮助未来的搜索者:
由于 ES5 的限制,babel 的某些功能需要在浏览器中加载 polyfill。这是在 babel-node
中自动加载的,或者您可以包含 babel-polyfill.
一些需要 polyfill 的功能:
- 摘要参考
- 数组解构
- 异步函数
- 理解
- 对于
- Array.from
- 传播