2016-12-02 91 views
1

我有這個jsx文件。 //反應代碼Webpack不解析jsx文件

import React from 'react'; 
import {render} from 'react-dom'; 

class App extends React.Component { 
    render() { 
    return <p> Hello React!</p>; 
    } 
} 

render(<App/>, document.getElementById('app')); 

and this is my webpack.confg.js file 
//webpack config 

module.exports = { 
    entry: __dirname + '/assets/app/components/test/test.jsx', 
    output: { 
    path: __dirname, 
    filename: '/assets/app/components/test/test.min.js' 
    }, 
    module: { 
    loaders: [ 
     { 
     test: '/\.jsx?/', 
     exclude: '/node_modules/', 
     loader: 'babel', 
     query: { 
      presets:['es2015', 'react'] 
     } 
     } 
    ] 
    } 
} 

上運行的Web Pack中的給誤差

/assets/app/components/test/test.jsx 模塊解析失敗:/Users/joseph.antony/工作空間/ sloop/assets/app/components/test/test.jsx意外的令牌(6:11) 您可能需要一個合適的加載程序來處理此文件類型。 SyntaxError:意外的令牌(6:11)

回答

0

這裏是我的模塊配置我用於所有創建的React項目。您將需要npm install我下面指定的軟件包。

module: { 
     loaders: [ 
      { 
       // Only run `.js` and `.jsx` files through Babel 
       test: /\.jsx?$/, 
       exclude: __dirname + "/node_modules", 
       loader: require.resolve("babel-loader"), 
       query: { 
        presets: [ 
         require.resolve('babel-preset-es2015'), 
         require.resolve('babel-preset-stage-0'), 
         require.resolve('babel-preset-react') 
        ] 
       } 
      } 
     ] 
    }, 
1

我相當肯定,你的問題是由於沒有正確表達的正則表達式測試:

此:

test: '/\.jsx?/', 
exclude: '/node_modules/', 

應該是:

test: /\.jsx?/, 
exclude: /node_modules/, 

正則表達式文字不包裹在字符串中。

+0

現在顯示的問題是未知選項:direct.presets – Joseph

+0

您是否還有.babelrc文件? –

+0

是的,我在項目文件夾的根目錄下有.babelrc文件。 – Joseph