带有 babel 的装饰器,意想不到的标记

Decorators with babel, unexpected token

我正在尝试使用 babelify 在 React 中的 类 上使用装饰器。我在 babel 中应用了 'es7.decorators' 选项,但是当它遇到 '@' 字符时,我一直收到 'unexpected token' 错误。

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

装饰者:

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

Class:

import myDecorator from 'decorator';

@myDecorator
class MyClass{...}

我正在使用 babelify(Babel 的浏览器转换):

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

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

以防其他人 运行 遇到这个问题,我也遇到了同样的问题。

我认为此处列出了重大更改:http://babeljs.io/blog/2015/03/31/5.0.0/#babelrc

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