2016-07-28 134 views
0

我收到錯誤Error: Cannot resolve module 'react'(和react-dom)與webpack。這必須是我必須處理的最難的項目設置,我不確定它爲什麼不能工作。我也檢查過類似的問題,似乎無法找到解決方案。導入與webpack反應錯誤:無法解析模塊'反應'

webpack.config.js

module.exports = { 
    entry: './static/js/base/base.jsx', 
    output: { 
    path: __dirname + '/static/scripts', 
    filename: 'bundle.js' 
    }, 
    resolve: { 
    extensions: ['', '.js', '.jsx'] 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     loader: 'babel', 
     exclude: /node_modules/, 
     query: { 
      cacheDirectory: true, 
      presets: ['react', 'es2015'] 
     } 
     } 
    ] 
    } 
} 

base.jsx

import React from 'react'; 
import ReactDOM from 'react-dom'; 

class Navigation extends React.Component { 
    // ... 
    constructor(props) { 
    super(props); 

    [ 
     // Functions & Event Handlers declaration 
    ].forEach(method => { this[method] = this[method].bind(this); }); 

    this.state = { 
     hello: 'Hello World!', 
    }; 
    } 

    render() { 
    return (
     <div> 
     <div href="#" class="header item"> 
      WINPMP Login 
     </div> 
     <div class="right menu"> 
      <a class="ui primary button item">Students</a> 
      <a class="ui button item">Teachers</a> 
     </div> 
     </div> 
    ); 
    } 
} 

React.render(<Navigation/>, document.getElementById('nav')); 

我已經運行npm install,一切都在那裏。爲什麼它不能正確導入?我該如何做這項工作?

而且我的package.json

"devDependencies": { 
    "babel": "^6.5.2", 
    "babel-core": "^6.11.4", 
    "babel-loader": "^6.2.4", 
    "babel-preset-es2015": "^6.9.0", 
    "babel-preset-react": "^6.11.1", 
    "bower": "^1.7.9", 
    "react": "^15.2.1", 
    "react-dom": "^15.2.1", 
    "webpack": "^1.13.1", 
    "webpack-dev-server": "^1.14.1" 
    } 
+0

顯示你的'package.json' – mklimek

+0

@mklimek更新 – Modelesq

+0

你不使用'html-webpack-plugin'? – mklimek

回答

1

嘗試建立在你的項目根.babelrc文件,該文件是這樣的:

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

,並從您的WebPack配置拉出「查詢」字段'loader'

+0

很好!進展!拋出一個不同的錯誤:D – Modelesq

+0

'找不到模塊:錯誤:無法解析模塊'sockjs-client'' – Modelesq

+0

嗯..這很奇怪..我沒有聽說過那個,但顯然它被webpack-dev-server使用;不知道爲什麼它不會被發現..也許重新安裝webpack-dev-server?或刪除node_modules並重新運行'npm i'? – John