2016-12-30 6 views
1

Я пытаюсь использовать пример таблицы с фиксированными данными и связывать его с webpack.Webpack: синтаксис ES6 дает сбой сборки модуля: SyntaxError: Неожиданный токен

Я использую babel-loader, а мой код в противном случае не имеет проблем.

Запуск webpack указывает на ошибку, которая к моему знанию является частью синтаксиса ES6 (не ES5) ... The ..., такие, как здесь:

render() { var {sortDir, children, ...props} = this.props;

...props специально.

Вот мой WebPack конфигурации:

"use strict"; 

var webpack = require("webpack"); 

module.exports = { 
    entry: { 
     app: './app.js', 
     vendor: ["fixed-data-table","react","react-dom","jquery", "bootstrap", "vis", "chart.js"], 
    }, 
    output: { path: "./", filename: 'bundle.js' }, 

    plugins: [ 
     new webpack.optimize.CommonsChunkPlugin(/* chunkName= */"vendor", /* filename= */"vendor.bundle.js"), 
     new webpack.ProvidePlugin({ 
      $: "jquery", 
      jQuery: "jquery" 
     }) 
    ], 

    module: { 
     loaders: [ 
      { 
       test: /.js?$/, 
       loader: 'babel-loader', 
       exclude: /node_modules/, 
       query: { 
        presets: ['es2015', 'react'] 
       } 
      } 
     ] 
    }, 
}; 

Я использую es2015 и реагировать в качестве предварительных настроек и загрузка с Вавилонской-погрузчиком. Почему это бросает синтаксическую ошибку, когда она должна понимать и обрабатывать синтаксис ES6?

Вот мой Package.json. Нужно ли обновлять некоторые версии?

{ 
    "name": "test", 
    "version": "1.0.0", 
    "main": "main.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC", 
    "devDependencies": { 
    "babel-core": "^6.3.17", 
    "babel-loader": "^6.2.0", 
    "babel-preset-es2015": "^6.3.13", 
    "babel-preset-react": "^6.3.13", 
    "babel-runtime": "^6.3.19", 
    "webpack": "^1.12.9" 
    }, 
    "dependencies": { 
    "bootstrap": "^3.3.7", 
    "chart.js": "^2.4.0", 
    "fixed-data-table": "^0.6.0", 
    "jquery": "^3.1.0", 
    "react": "^0.14.3", 
    "react-dom": "^0.14.3", 
    "vis": "^4.17.0" 
    }, 
    "description": "" 
} 
+0

не то, что ES7 [Остальная недвижимость] (https://github.com/ sebmarkbage/ecmacript-rest-spread/blob/master/Rest.md)? – UnholySheep

+0

Действительно? У Facebook есть свой пример здесь; заключается в том, что на основе ES7? https://github.com/facebook/fixed-data-table/blob/master/examples/SortExample.js – cbll

+1

Это даже не ES7 или ES8, это все еще экспериментальное предложение. – Bergi

ответ

3

Мне понадобился предустановленный Babel для обратной совместимости с ES7.

решаемый:

npm install babel-preset-stage-0 --save-dev 

с последующим добавлением предустановки в приведенной выше конфигурации WebPack:

presets: ['es2015', 'react', 'stage-0'] 

 Смежные вопросы

  • Нет связанных вопросов^_^