2016-10-04 74 views
0

下面是我的WebPack配置:为什么我的babel poyfill不工作?

var Path = require('path'); 

module.exports = { 
    entry: { 
     create: ['babel-polyfill', Path.resolve(__dirname, "./src/create.js")], 
    }, 
    output: { 
    path: Path.resolve(__dirname, "../../public/crm/js/"), 
    filename: '[name].js' 
    }, 
    module: { 
    loaders: [ 
     { 
      test: /\.js$/, 
      exclude: /node_modules/, 
      loader: 'babel-loader?presets[]=es2015,presets[]=react' 
     } 
    ] 
} 
} 

我也NPM已经安装这些模块:

"babel-core": "^6.17.0", 
"babel-loader": "^6.2.5", 
"babel-polyfill": "^6.16.0", 
"babel-preset-es2015": "^6.13.2", 
"babel-preset-react": "^6.16.0" 

这里是我的create.js文件:

import "babel-polyfill"; 
import React, { Component } from 'react'; 
import ReactDOM from 'react-dom'; 

export default class Select extends Component { 

    //some code 

    onKeyDown = (e) => { 
    const {values} = this.props 
    const idx = values.indexOf(this.state.selection) 
    if (e.keyCode === 38 && idx > 0) { /* up */ 
     this.setState({ 
     selection: values[idx - 1] 
     }) 
    } else if (e.keyCode === 40 && idx < values.length -1) { /* down */ 
     this.setState({ 
     selection: values[idx + 1] 
     }) 
    } 
    this.fireOnSelect() 
    } 

    //some code 

} 

这里是我的来自主机的错误信息:

ERROR in ./src/create.js 
Module build failed: SyntaxError: Unexpected token (36:12) 

    34 | } 
    35 | 
> 36 | onKeyDown = (e) => { 
    |   ^
    37 |  const {values} = this.props 
    38 |  const idx = values.indexOf(this.state.selection) 
    39 |  if (e.keyCode === 38 && idx > 0) 

我做错了什么?我没有正确设置babel polypill吗?

+1

我不确定您的任何依赖包括该语法所需的[class properties transform](https://babeljs.io/docs/plugins/transform-class-properties/)。尝试添加到你的依赖/巴贝尔配置 – CodingIntrigue

回答