我想在不一一添加文件的情况下热重载所有反应组件。
module.hot.accept(['react/a', 'react/b', 'react/c'], function (){})
在我的项目中,我require.context
用来让所有 js 文件热重载。
'user strict';
import React from 'react';
import ReactDOM from 'react-dom';
import A from 'a'
ReactDOM.render(<A/>, document.getElementById('hello'))
var context = require.context("react", true, /\.js$/);
if (module.hot) {
module.hot.accept(context.id, function () {
var reloadedContext = require.context("react", true, /\.js$/);
ReactDOM.render(<A/>, document.getElementById('hello'))
});
}
但由于我从“a”导入 A,文件 a.js 不再是可热重载的。而文件 b.js 和 c.js 仍然是可热重载的。
我不确定如何require.context
工作,以及为什么导入的文件不可热重载。
这是我的示例项目,您可以分叉并复制我的问题。请给我一些建议谢谢!
https://github.com/flik930/webpack-hot-module-reload-with-context-example