7

当我运行react-native startnpm 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/就像 watchman 没有检测到更改一样。

我刚刚将我项目中的 React Native 升级到 0.39,我认为这不是之前的默认行为。我已经设置了一些登录,react-packager/src/node-haste/index.js并且似乎react-native-menu文件包含在 中hasteFSFiles,但是change没有触发事件。

我试过删除node_modules并重新安装它,清洁守望者状态和其他没有运气。

4

2 回答 2

6

好的,看起来他们在 0.39 版本中重新编写了 React Native 打包器,尽管这个错误仍然存​​在于 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

于 2017-01-10T09:21:51.410 回答
4

另一种解决方案是使用附加参数启动本机打包程序

npm run start -- --providesModuleNodeModules react-native,{any_node_module}

适用于我的 RN v0.42.0

于 2017-03-12T20:08:30.327 回答