2017-10-16 17 views
0

私はwebpack-middlewareで反応フルスタック環境をセットアップしました。私はコード内にいくつかのes6の構文を持っていますが、コンストラクタや名前付きの矢印関数がない状態ではエラーが発生します。例えば、私は、ソートテーブル反応のためのセマンティック-UIを使用したい: https://react.semantic-ui.com/collections/table#table-example-sortable をそして、私はこのエラーを取得するコンパイル中: enter image description hereReact Webpack「予期しないトークン」という名前の矢印機能

私はそれがために、私は以下のことを添付間違っWebPACKの設定であると思いました。

const webpack = require('webpack'); 
const HtmlWebpackPlugin = require('html-webpack-plugin'); 

module.exports = { 
    entry: './client/index.js', 
    output: { 
    path: '/', 
    filename: 'bundle.js' 
    }, 
    module: { 
    rules: [ 
     { 
     use: 'babel-loader', 
     test: /\.js$/, 
     exclude: /node_modules/ 
     } 
    ] 
    }, 
    plugins: [ 
    new HtmlWebpackPlugin({ 
     template: 'client/index.html' 
    }) 
    ] 
}; 

{ 
    "presets": ["env", "react", "es2015"] 
} 
+0

問題を引き起こしているコード(矢印機能)を含めることはできますか? –

+0

[クラスのメソッドとして矢印関数(パブリッククラスフィールド)を使用する方法](https://stackoverflow.com/q/31362292/218196) –

+0

使用している構文はES6ではありません。 –

答えて

3

.babelrcあなたは現在Class fields proposalの一環として、ステージ3は、クラスのプロパティを使用しようとしています。今日それらを使用できるようにするには、babel-plugin-transform-class-propertiesをインストールする必要があります。

npm install --save-dev babel-plugin-transform-class-properties 

.babelrcにプラグインに追加します。

{ 
    "presets": ["env", "react"], 
    "plugins": ["transform-class-properties"] 
} 

ないと、よりes2015すべてが含まれ、babel-preset-envの賛成で廃止されましたので、私はまたes2015プリセットを削除しました。

+0

これらはクラスフィールドではありませんが、 "太い矢印"のようなメソッドですか? – Jaxx

+1

これはクラスプロパティですが、矢印関数を割り当てるだけです。 'hideFixedMenu = true'や' true'の代わりに他の何かを使うこともできます。 [babel-plugin-transform-class-properties'の例](https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-class-properties#example)も参照してください。 。 –

+0

これを指摘してくれてありがとう、私は今日何か新しいことを学んだ。 – Jaxx

関連する問題