各个版本出现相同问题可能不尽相同,我出问题的版本是
"react": "16.0.0-alpha.6",
"react-native": "0.44.3",
"react-native-root-toast": "^1.4.0",
react-native-root-toast 本身这里不做介绍,这里只是根据由此问题引出:第三方在引用React-Native内部模块时,由于各自版本不一致导致的文件引用错误的问题的解决思路
error: bundling: Unable To Resolve Error: Unable to resolve module
npm install react-native-root-toast --save
此时不仅会安装一个react-native-root-toast
还有一个 react-native-root-siblings
也会一并安装上
然后进入程序就会报如下错误,根据提示查看/node_modules/react-native-root-siblings/lib/AppRegistryInjection.js文件
找到问题所在
原因是AppRegistryInjection.js中引用的
EventEmitter
目录结构和本版本React-Native的EventEmitter
的目录结构不一致。修改方案:找到react-native-root-toast匹配的React-Native版本,能找到最好,找不到的情况下,另一种方案是直接修改AppRegistryInjection.js 文件,
这个根据自身引用React-Native 版本来设置,各个版本可能不尽相同。
注意,这里直接修改的是本地依赖库node_modules
中的文件
所以如果再次创建node_modules
会导致修改丢失。