2016-07-28 131 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