2017-04-09 69 views
0

我在用Babel和React配置Webpack時遇到了問題。您可能需要一個合適的加載器來處理這種文件類型。 Webpack和Babel

這裏是我的配置文件 -

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

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

var config = { 
    entry: APP_DIR + '/app1.jsx', 
    output: { 
    path: BUILD_DIR, 
    filename: 'bundle.js' 
    } 
}; 

module : { 
    loaders : [ 
     { 
     test : /\.jsx?/, 
     include : APP_DIR, 
      xclude: /node_modules/, 
     loader : 'babel-loader', 
      query: { 
     presets: ['es2015'] 
    } 
     } 
    ] 
    } 

module.exports = config; 

這裏是我的babelrc文件

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

我試圖在 here描述,但在標題中提到的仍然得到配置錯誤的步驟。

+0

指定預置我不知道這是否會解決你的問題,你不需要使用.babelrc文件,但這裏是一個提示,你應該將你的babel插件從es2015切換到env,這是現在推薦的方法。 –

回答

0

嘗試使用這個簡單的代碼行,而且,您應該將您的babel插件從es2015 (babel-preset-es2015)切換到env (babel-preset-env),這是現在推薦的方法。

module: { 
    loaders: [ 
     { test: /\.jsx?$/, loader: 'babel-loader', exclude: /node_modules/ } 
    ] 
    } 

而這應該是你的.babelrc文件。

{ 
    presets: [ 'env', 'react' ] 
} 

這應該有效。

+0

感謝您的回覆。進行更改後,我收到相同的錯誤。 –

+0

您是否試圖要求擴展名未在模塊加載程序中指定的文件,如.scss或其他任何文件? –

+0

不,我不想要求在模塊加載器中未指定擴展名的文件。 –

0

嘗試指定測試表達\.jsx?$和如果你在loaders

module : { 
    loaders : [ 
     { 
     test : /\.jsx?$/, 
     include : APP_DIR, 
     exclude: /node_modules/, 
     loader : 'babel-loader', 
      query: { 
       presets: ['es2015', 'react', 'stage-0'] 
     } 
     } 
    ] 
    } 
+0

同樣的錯誤,抱歉! –