0

私は反応プラグインでbabel 6を使用しており、トランスパイルプロセスをセットアップするためのドキュメントの指示に従いました。私は使用es2015して反応する必要がある作業を反応させるために読んだpreset。最初は、この両方のプリセットを使用してすべてが正常に機能しました。

しかし、babel のWeb サイト(プロパティ初期化子) からサンプル コードをコピーして新しい言語機能をテストすると、以下のコードをトランスパイルするとエラーが発生し、コードをトランスパイルできなくなりました。

// The ES6+ way
class Video extends React.Component {
    static defaultProps^= { // this is line 42 and ^ the column where error occurs
        autoPlay: false,
        maxLoops: 10,
    }

    static propTypes = {
        autoPlay: React.PropTypes.bool.isRequired,
        maxLoops: React.PropTypes.number.isRequired,
        posterFrameSrc: React.PropTypes.string.isRequired,
        videoSrc: React.PropTypes.string.isRequired,
    }

    state = {
        loopsRemaining: this.props.maxLoops,
    }
}

Warning: [...]components/sectorList.js: Unexpected token (42:24) Use --force to continue.

長い間デバッグした後、stage-0babelのプリセットもロードすることでこの問題を解決しました。しかし、それはただの運でした。

したがって、答えが見つからない私の質問は次のとおりです。

正しいプリセット コレクションを決定する正しい方法はどのようにしますか。

または、予期しないトークン...警告は、主にプリセットが見つからないことの通知ですか?

助けてくれてありがとう

4

1 に答える 1

1

プリセットのバベル ページを見ると、含まれているすべての変換がリストされています。この場合、現在ステージ 1 にあるクラス プロパティを使用しているため、ステージ 1 のプリセットに含まれています。

ES2015 では、コンストラクターを使用してデフォルトを設定します。

于 2015-12-07T22:40:19.963 に答える