2016-07-28 10 views
0

Error: Cannot resolve module 'react'(およびreact-dom)がwebpackでエラーになります。これは、私が対処しなければならなかった最も難しいプロジェクトの設定でなければならず、なぜそれがうまくいかないのか分かりません。私も同様の問題をチェックしており、解決策を見つけることができません。私はnpm installを実行した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')); 

、すべてがそこにあります。なぜそれが正しくインポートされませんか?どうすればこの作品を作れますか?

そして、私の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 updated – Modelesq

+0

あなたは' html-webpack-plugin'を使用していませんか? – mklimek

答えて

1

は次のようになり、プロジェクトのルートに.babelrcファイル作成してみてください:

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

をし、あなたのWebPACKの設定から「クエリ」フィールドを抜きます'loader'

+0

nice!進捗! D – Modelesq

+0

'モジュールが見つかりません:エラー:モジュール 'sockjs-client''を解決できません – Modelesq

+0

うーん..それは奇妙です..私はそれを聞いたことはありませんが、明らかにwebpack-dev-serverによって使用されています。なぜそれが見つからないのかわからない。おそらくwebpack-dev-serverを再インストールするのだろうか?またはnode_modulesを削除して 'npm i'を再実行しますか? – John