環境
- Laravel
- React
- webpack
npmパッケージは以下の通りです。
package.json
1{ 2 "private": true, 3 "scripts": { 4 "prod": "gulp --production", 5 "dev": "gulp watch" 6 }, 7 "devDependencies": { 8 "babel": "^6.5.2", 9 "babel-core": "^6.21.0", 10 "babel-loader": "^6.2.10", 11 "babel-plugin-transform-runtime": "^6.15.0", 12 "babel-preset-es2015": "^6.18.0", 13 "gulp": "^3.9.1", 14 "laravel-elixir": "^6.0.0-14", 15 "laravel-elixir-webpack-official": "^1.0.10", 16 "lodash": "^4.16.2" 17 }, 18 "dependencies": { 19 "react": "^15.4.1", 20 "react-dom": "^15.4.1", 21 "semantic-ui-css": "^2.2.4" 22 } 23}
問題点
LaravelのElixirを使ってreactのビルドをしているのですが、よくわからないところでSyntaxError: Unexpected token
のエラーがでてしまいます。
gulpfile.js
gulpfile.js
1const elixir = require('laravel-elixir'); 2elixir.config.sourcemaps = false; 3 4elixir((mix) => { 5 mix 6 .webpack( 7 '/admin/dashboard.js' 8 ) 9});
dashboard.js
dashboard.js
1import React, { Component } from 'react' 2import { Menu } from 'semantic-ui-react' 3 4export default class MenuExampleInvertedVertical extends Component { 5 state = { activeItem: 'home' } 6 7 handleItemClick = (e, { name }) => this.setState({ activeItem: name }) 8 9 render() { 10 const { activeItem } = this.state 11 12 return ( 13 <Menu inverted vertical> 14 <Menu.Item name='home' active={activeItem === 'home'} onClick={this.handleItemClick} /> 15 <Menu.Item name='messages' active={activeItem === 'messages'} onClick={this.handleItemClick} /> 16 <Menu.Item name='friends' active={activeItem === 'friends'} onClick={this.handleItemClick} /> 17 </Menu> 18 ) 19 } 20}
webpack.config.js
webpack.config.js
1var webpack = require('webpack'); 2 3module.exports = { 4 module: { 5 loaders: [ 6 { 7 exclude: /node_modules/, 8 loader: "babel", 9 query:{ 10 presets: ['es2015'] 11 } 12 } 13 ] 14 }, 15}
gulp
をした時のエラーは以下の通りです。
{ [Error: ./resources/assets/js/admin/dashboard.js Module build failed: SyntaxError: Unexpected token (5:8) 3 | 4 | export default class MenuExampleInvertedVertical extends Component { > 5 | state = { activeItem: 'home' } | ^ 6 | 7 | handleItemClick = (e, { name }) => this.setState({ activeItem: name }) 8 | BabelLoaderError: SyntaxError: Unexpected token (5:8) 3 | 4 | export default class MenuExampleInvertedVertical extends Component { > 5 | state = { activeItem: 'home' } | ^ 6 | 7 | handleItemClick = (e, { name }) => this.setState({ activeItem: name }) 8 |
エラーの原因がよくわからないのですが、どこが問題なのでしょうか・・?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/07 09:50