0

babelify を使用して、React のクラスでデコレータを使用しようとしています。「es7.decorators」オプションをbabelに適用しましたが、「@」文字に遭遇すると「予期しないトークン」エラーが発生し続けます。

誰にもアイデアはありますか?簡単な例を以下に示します。

デコレータ:

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

クラス:

import myDecorator from 'decorator';

@myDecorator
class MyClass{...}

私はbabelify(BabelのBrowserify変換)を使用しています:

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

2 に答える 2

1

ファイルについて言及してくれた @LeonidBeschastny に感謝し.babelrcます。設定ファイル デコレータを使用すると正しく動作します。babelify の readme に記載されているセットアップを使用すると、何らかの理由で動作しません (私のセットアップかどうかは不明です)。

于 2015-10-12T10:12:17.187 に答える
1

他の誰かがこの問題に遭遇した場合、私は同じ問題を抱えていました。

ここで概説されている重大な変更があったと思います: http://babeljs.io/blog/2015/03/31/5.0.0/#babelrc

私がする必要があったのは、babelrc に { "stage": 1 } を追加することだけでした。これは、babel に実験的機能を使用してコンパイルするように指示します。その 1 つは es7 デコレータです。

于 2015-11-09T00:16:36.037 に答える