如何防止发电机function的babel

巴贝尔,我有一个奇怪的问题。 当我在其中一个类中使用简单的生成器函数时,babel会创build一个包含对regeneratorRuntime的调用的函数。

 var marked3$0 = [getQueryDummy].map(regeneratorRuntime.mark); function getQueryDummy(start, end, step) { return regeneratorRuntime.wrap(function getQueryDummy$(context$4$0) { 

不好的是,它不会创build这个函数,当我忘记手动replace原来的编译生成器(总是发生这种情况)

我知道我可以补充

 require('babel/polyfill') 

到我的文件。 polyfill拥有regeneratorRuntime函数。 在这里,它变得非常奇怪。 即使我将require(…)放在文件的最顶端,babel在包含polyfill之前调用regeneratorRuntime ,这又会导致相同的错误。

为了完整起见,这里是发生器

 function *getQueryDummy(start, end, step) { while (start < end) { yield [start, '@dummy']; start += step; } } 

我使用的是babel版本5.8.23

有没有办法告诉巴贝尔根本不碰generators ? 节点本地支持它们,不需要我编译它…

你可以黑名单 regenerator 。 如果你正在build立transform

 babel.transform(code, {blacklist:['regenerator']}); 

或者从命令行使用:

 --blacklist regenerator