2017-01-11 6 views
0

Я использую webpack и es2015 для моего проекта, но хочу обновить до es2016. Я думал, что будет так же просто, как использовать npm для установки нового пресета, а затем изменить мой .babelrc, но когда я все мой синтаксис es2015 выкидывает ошибки. Я предполагаю, что es2016 просто не загружается из-за некоторой моей ошибки.Es2016 импорт не работает

Точная ошибка брошена в

Uncaught SyntaxError: Unexpected token import 

Это мой webpack.config.js

var webpack = require('webpack'); 
var path = require('path'); 

var BUILD_DIR = path.resolve(__dirname, 'src/client/public'); 
var APP_DIR = path.resolve(__dirname, 'src/client/app'); 

var config = { 
    entry: APP_DIR + '/index.jsx', 
    output: { 
    path: BUILD_DIR, 
    filename: 'bundle.js' 
    }, 
    module : { 
    loaders : [ 
     { 
     test : /\.jsx?/, 
     include : APP_DIR, 
     loader : 'babel-loader', 
     query: { 
      presets: ['es2016'] 
     } 
     }, 
     { 
     test: /\.css$/, 
     loader: 'style-loader' 
     }, 
     { 
     test: /\.css$/, 
     loader: 'css-loader', 
     query: { 
      modules: true, 
      localIdentName: '[name]__[local]___[hash:base64:5]' 
     } 
     }, 
     { 
     test: /\.json$/, 
     loader: 'json-loader' 
     } 
    ] 
    }, 
    node: { 
    fs: 'empty', 
    net: 'empty', 
    tls: 'empty' 
    } 
}; 

module.exports = config; 

Это мой .babelrc

{ 
    "presets" : ["es2016", "react"] 
} 

ответ

0

эс модули являются частью 2015 spec, поэтому вам нужно включить предустановку es2015. Предустановка es2016 включает только плагин transform-exponentiation-operator.

0

Чтобы использовать предустановку es2016, вам необходимо установить в пресеты. По babel docs, ES2016:

ES2016: Только компилирует, что в ES2016 для ES2015

Итак, если вы обновляете .babelrc, как это, он будет transpile правильно:

{ 
    "presets" : ["es2015", "es2016", "react"] 
} 

Или вы можете добавить latest preset. Он будет содержать предустановки es2015, es2016 и es2017.

Другое дело: вы устанавливаете пресеты в файле .babelrc и в конфигураторе загрузчика webpack. Вам нужно только установить его в одном месте.

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

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