2016-03-29 15 views
1

yeoman generator react-webpackを使用しています。 モジュールのビルドが失敗した./src/components/Main.jsで構文エラーfrom spread属性

ERROR:でSyntaxError:

require('normalize.css'); 
require('styles/App.css'); 

import React from 'react'; 

var FixedDataTable = require('fixed-data-table'); 

const TextCell = ({rowIndex, data, col, ...props}) => (
    <Cell {...props}> 
    {data.getObjectAt(rowIndex)[col]} 
    </Cell> 
); 

let yeomanImage = require('../images/yeoman.png'); 

class AppComponent extends React.Component { 
    render() { 
    return (
     <div className="index"> 
     <img src={yeomanImage} alt="Yeoman Generator" /> 
     <div className="notice">Please edit <code>src/components/Main.js</code> to get started!</div> 
     </div> 
    ); 
    } 
} 

AppComponent.defaultProps = { 
}; 

export default AppComponent; 

が、私はこのエラーを取得しておいてください。私はMain.jsコンポーネントでスプレッド属性を使用しようとしていますCを:/dev/react/reactwebpack/src/components/Main.js:予期しないトークン(8:41)

let yeomanImage = require('../images/yeoman.png'); 
const ImageCell = ({rowIndex, data, col, ...props}) => (
<ExampleImage src={data.getObjectAt(rowIndex)[col]}/>); 

at Parser.pp.raise (C:\dev\react\react-webpack\node_modules\babylon\index.js:1378:13) 

私はWebPACKのか、バベルのconfigsで何をしないのですか? (設定ファイルはジェネレータのものと同じです)。

答えて

3

これはES7の機能です。あなたはバーベルのためにtransform-object-rest-spreadプリセットが必要です。

使用している発電機自体がthis oneです。 それは.babelrcが付属していますし、それはあなたが余分なプラグインを有効にする必要がある場所:

"plugins": ["...other plugin", "transform-object-rest-spread"] 

また、NPMインストールとおそらくnpm install --save babel-plugin-transform-object-rest-spreadを行うことによって、あなたのpackage.jsonファイルに追加する必要があります。

このプラグインは、あらかじめあらかじめ設定されたバーベルのstage2にも含まれています(babel-preset-stage-2は完全なnpmパッケージ名です)。

+0

これは機能します。本当にありがとう!私は実際に実行しなければなりません:npmはbabel-plugin-transform-object-rest-spreadをインストールし、エラーを取り除くために "plugins":["transform-object-rest-spread"]を.babelrcに追加します。 – Steve

+0

ご迷惑をおかけしておりません。 –

+0

*「それはES7の機能です」*いいえ、そうではありません!これは将来のESバージョンの提案です。 ES7は既にファイナライズされています(少なくともフィーチャーごとに)。 –

関連する問題