如何观看 react-native node_modules 变化
How to watch react-native node_modules changes
当我 运行 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/
看起来 watchman 没有检测到更改。
我刚刚将项目中的 React Native 升级到 0.39,我认为这不是以前的默认行为。我已经在 react-packager/src/node-haste/index.js
中设置了一些日志记录,react-native-menu
文件似乎包含在 hasteFSFiles
中,但是 change
事件没有被触发。
我已经尝试删除 node_modules
并重新安装它,清理 Watchman 状态和其他都没有成功。
好的,看起来他们在 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
另一种解决方案是使用附加参数启动 React Native 打包程序
npm run start -- --providesModuleNodeModules react-native,{any_node_module}
适用于我的 RN v0.42.0
当我 运行 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/
看起来 watchman 没有检测到更改。
我刚刚将项目中的 React Native 升级到 0.39,我认为这不是以前的默认行为。我已经在 react-packager/src/node-haste/index.js
中设置了一些日志记录,react-native-menu
文件似乎包含在 hasteFSFiles
中,但是 change
事件没有被触发。
我已经尝试删除 node_modules
并重新安装它,清理 Watchman 状态和其他都没有成功。
好的,看起来他们在 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
另一种解决方案是使用附加参数启动 React Native 打包程序
npm run start -- --providesModuleNodeModules react-native,{any_node_module}
适用于我的 RN v0.42.0