当我运行react-native start
或npm start
时,打包者启动并提示Looking for JS files in /Users/map/repos/myrepo/
我启用了热重装。当我更改位于/Users/map/repos/myrepo/node_modules/react-native/
内的文件似乎检测到更改时,但是如果我编辑第三方存储库中的文件,如/Users/map/repos/myrepo/node_modules/react-native-menu/
,看起来看守员没有检测到更改。
我刚刚将项目中的React Native升级到0.39,我认为这不是之前的默认行为。我已在react-packager/src/node-haste/index.js
中设置了一些日志记录,react-native-menu
中似乎包含hasteFSFiles
个文件,但未触发change
事件。
我尝试删除node_modules
并重新安装,清理守望者状态和其他没有运气。
答案 0 :(得分:6)
好的,看起来他们在版本0.39中重新编写了React Native packager,尽管这个bug仍然存在于v0.40中。在有正式修复之前,如果要在node_modules
内检测到库的更改,则需要修改node_modules/react-native/packager/defaults.js
并将项目名称添加到providesNodeModules
,如下所示:
exports.providesModuleNodeModules = [
'react-native',
'react-native-windows',
'react-native-menu',
];
报告此问题的问题可在此处找到: https://github.com/facebook/react-native/issues/11301
答案 1 :(得分:4)
另一个解决方案是使用其他参数启动反应native packager
npm run start -- --providesModuleNodeModules react-native,{any_node_module}
与我一起使用RN v0.42.0