0

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

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

装饰师:

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

班级:

import myDecorator from 'decorator';

@myDecorator
class MyClass{...}

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

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

2 回答 2

1

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

于 2015-10-12T10:12:17.187 回答
1

万一其他人遇到这个问题,我也遇到了同样的问题。

我认为这里概述了重大变化:http: //babeljs.io/blog/2015/03/31/5.0.0/#babelrc

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

于 2015-11-09T00:16:36.037 回答