我在我当地的El Capitan Mac OS X机器上运行本机应用程序。我试图让它在iOS模拟器中运行。
构建成功但我看到一个红色屏幕,上面写着:Native模块不能为空。
我在控制台中看到此错误:
NotFoundError: Cannot find entry file global code@http://localhost:8081/index.ios.js in any of the roots: ["/Users/User/f8app"]
at DependencyGraph._getAbsolutePath (/Users/User/f8app/node_modules/node-haste/lib/index.js:288:13)
at /Users/User/f8app/node_modules/node-haste/lib/index.js:226:30
at process._tickCallback (node.js:401:9)
我该如何解决这个问题?谢谢。
React-native版本: react-native-cli:1.0.0 反应原生:0.28.0
编辑:这令人难以置信,因为index.ios.js位于我项目的根目录中。
答案 0 :(得分:0)
我有类似的问题,需要一段时间来缩小原因问题。 React有时不会自动将子库链接到iOS项目。您的库可能需要一些额外的RCT*
依赖项,这些依赖项已下载并位于node_modules / react-native文件夹中。您需要手动链接它。
例如,我使用CocoaPods进行iOS依赖关系管理,我的本机反应如下:
pod 'React', :path => '../../node_modules/react-native', :subspecs => [
'Core',
'RCTText',
'RCTImage',
'RCTLinkingIOS',
'RCTSettings',
'RCTVibration',
'RCTGeolocation',
'RCTActionSheet',
'RCTNetwork',
'RCTWebSocket'
]
如果您使用react-native link
或在XCode
中手动关联,请务必将这些文件添加到Xcode项目中。 Facebook documentation
答案 1 :(得分:0)