我在使用babel时遇到了一个奇怪的问题。当我在我的类中使用简单的生成器函数时,babel会把它创建成一个包含对regeneratorRuntime
调用的函数。
var marked3$0 = [getQueryDummy].map(regeneratorRuntime.mark);
function getQueryDummy(start, end, step) {
return regeneratorRuntime.wrap(function getQueryDummy$(context$4$0) {
不好的是,编译器不会创建一个函数,这导致我忘记手动替换已编译的生成器为原始生成器时总是出错(这种情况经常发生)。
我知道我可以添加
(意思是作者可能在写这句话时被打断了)。require('babel/polyfill')
将polyfill添加到我的文件中。该polyfill包含regeneratorRuntime
函数。这里的情况变得非常奇怪。尽管我将require(...)放在文件的顶部,但babel在包含polyfill之前调用了regeneratorRuntime
,再次导致相同的错误。
为了完整起见,这是生成器:
function *getQueryDummy(start, end, step) {
while (start < end) {
yield [start, '@dummy'];
start += step;
}
}
我正在使用babel版本5.8.23
。
有没有办法告诉babel完全不要触及generators
?节点本地支持它们,我不需要编译它...