我的react热加载程序3有问题。
我的应用程序中的一些模块得到了热更新,有些则没有。我有一个文件夹(应用程序),其中包含我的所有组件。在这个文件夹中,我有index.js,我在那里导出文件夹中的所有模块。在文件夹中,我有index.js
文件,它导出组件本身。示例:
app/test
包含test.js
和index.js
app/test/index.js
包含export test from ./test.js
app/index.js
包含export * as test from ./test
在我的应用程序中,我导入了这个测试应用程序,比如import { test } from ../app
魔法就在这里显现。hmr不适用于test.js。但如果我在app/index.js
中注释行export * as test from ./test
并直接导入我的测试组件import test from ../app/test/test.js
,hmr就可以了。我已经试着修了三天了。app/index.js
被导入到我的routes.js
文件中。这是唯一一个进口的地方。只有app
文件夹中的所有组件不会得到热更新,除非它工作正常。我试着用任何样板复制它,但没有成功。
在控制台中,我看到
[WDS] App updated. Recompiling...
log-apply-result.js?d762:11 [HMR] The following modules couldn't be hot updated: (They would need a full reload!)
log-apply-result.js?d762:18 [HMR] Nothing hot updated.
only-dev-server.js?2f87:49 [HMR] App is up to date.
client?e36c:37 [WDS] App updated. Recompiling...
client?e36c:37 [WDS] Nothing changed.
问题出在文件夹的结构上。循环依赖项失败hmr。修复它修复了问题。