我对 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 容纳regeneratorRuntime
功能。这就是事情变得非常奇怪的地方。即使我放置了 require(...)
在文件的最顶部,babel 调用regeneratorRuntime
在包含polyfill之前,这又会导致同样的错误。
为了完整起见,这是生成器
function *getQueryDummy(start, end, step) {
while (start < end) {
yield [start, '@dummy'];
start += step;
}
}
我使用的是babel版本5.8.23
.
有没有办法告诉babel不要碰generators
根本吗?节点本身支持它们,不需要我编译它......
你可以黑名单 https://babeljs.io/docs/usage/options/ regenerator
。如果您正在构建transform
:
babel.transform(code, {blacklist:['regenerator']});
或者从命令行使用:
--blacklist regenerator
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)