装饰有巴贝尔,意想不到的象征

时间:2015-10-12 08:37:41

标签: javascript babeljs decorator browserify ecmascript-next

我试图在React中使用装饰器,使用babelify。我有' es7.decorators'选项适用于babel,但我一直得到一个意想不到的令牌'遇到' @'时出错字符。

有人有什么想法吗?下面是一个简单的例子。

装饰:

export default function(Component) {
  return class extends Component {
    constructor() {...}
  }
}

类别:

import myDecorator from 'decorator';

@myDecorator
class MyClass{...}

我使用babelify(Browserify变换为Babel):

browserify().transform(babelify.configure({
  optional: ['es7.decorators']
})

2 个答案:

答案 0 :(得分:1)

感谢@LeonidBeschastny提及.babelrc文件,使用配置文件装饰器正常工作,使用babelify自述文件中描述的设置不起作用,无论出于何种原因(不确定我的设置或其他)

答案 1 :(得分:1)

如果有其他人遇到这个问题,我遇到了同样的问题。

我认为这里有一些重大变化:http://babeljs.io/blog/2015/03/31/5.0.0/#babelrc

我需要做的就是在我的babelrc中添加{" stage":1},告诉babel使用实验性功能进行编译,其中一个是es7装饰器。