React-hot-loader如何热替换功能,我的报错,代码如下

#21

我不知道你用的哪个版本的react。。package.json中也没有,新版本在你的main.js中需要这样写,需要npm install react-dom

var ReactDOM = require('react-dom');
var React = require('react');
var Hello = require('./Hello');
ReactDOM.render(<Hello name="Nan" />, document.body);

你修改main.js中的东西不会热替换的,需要手动刷新,在Hello.js中的可以。如果没弄好我把修改好后的代码给你,另外。。server.js中监听127.0.0.1:300就不要console出什么localhost:3000啊,我电脑上这两个不一样。。

1 Like
#22

靠。。回答了这么老的一个问题,没看发帖时间

#23

测试了一下入口文件确实会有 full reload 这个警告,

// if(process.env.NODE_ENV === 'dev') {
//   if (module.hot) {
//     module.hot.accept();
//   }
// }

入口文件加了了这个==

#24

我挖下坟,今天碰到这个问题,搜了很久,都是没有明确的解决办法。最后解决了这个提示,其他人碰到可以参考下。

修改了webpack.config.js

增加了react-hot-loader,之前没这个报错,加了就没问题了。

{
  test: /\.js?$/,
  loaders: [
    'react-hot-loader', 'babel-loader?cacheDirectory'
  ],
  include: path.join(__dirname, '../src')
}