2017-01-11 1 views
0

내 반응 프로젝트에 webpack 및 es2015를 사용하고 있지만 es2016으로 업데이트하고 싶습니다. 나는 npm을 사용하여 새 사전 설정을 설치 한 다음 내 .babelrc를 변경하는 것만 큼 쉽지만, 내 es2015 구문을 모두 사용하면 오류가 발생합니다. 나는 es2016이 나의 약간의 에러로 인해 단순히 로딩되지 않는다고 가정한다. 이것은 내 webpack.config.jsEs2016 가져 오기 작동하지 않음

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; 

Uncaught SyntaxError: Unexpected token import 

입니다

던져 정확한 오류가되는 것은이

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

답변

0

ES 모듈은 2015 년 일부 내 .babelrc입니다 spec이므로 es2015 프리셋도 포함시켜야합니다. es2016 사전 설정에는 transform-exponentiation-operator 플러그인 만 포함됩니다.

0

사전 설정을 사용하려면 을 사전 설정에 추가해야합니다. babel docs에 따르면, ES2016 :

ES2016이 : 만이 같은 .babelrc를 업데이트 할 경우,

그래서 ES2015에 ES2016에 무엇이 컴파일이 제대로 transpile 있습니다 :

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

또는 latest preset을 추가 할 수 있습니다. 여기에는 es2015, es2016 및 es2017 사전 설정이 포함됩니다.

또 하나 : .babelrc 파일과 webpack loader config에서 사전 설정을 설정 중입니다. 한 곳에서만 설정하면됩니다.

관련 문제