我在iOS项目中使用React Native作为Pod。 当我尝试加载我使用React Native创建的视图时,我得到错误屏幕,将我引导到运行npm的终端窗口。
在终端中,我看到的错误是: 错误:无法在任何根目录中找到条目文件:
我尝试了一些东西,将文件移到另一个位置,但没有运气。 我确实运行了“npm start”,我正在寻找“http://localhost:8081/”中的文件。 该文件的当前位置与我从“.npm start”运行的位置相同。
我完全被困在这里。 我配错了吗我怎样才能从这里排除故障?
答案 0 :(得分:30)
检查在其中一个bash终端中运行的节点服务器,这可能是您之前启动的之前的ReactNative XCode项目所引发的。停止该过程并再次运行XCode项目,这应该可以解决问题。
答案 1 :(得分:23)
很抱歉回答我自己的问题(有点蹩脚),但我希望它可以帮助其他人。
显然我们需要通过提供替代路径来运行npm命令。
npm run start -- --root <directory_with_your_react_component_js_sources>
On http://facebook.github.io/react-native/docs/embedded-app.html#content是有关如何在现有应用中集成React Native的指南。
答案 2 :(得分:12)
当React想要使用已被其他应用程序使用的端口时,会发生这种情况。由于React侦听端口8081,您可以在该端口上运行进程,在Shell中键入以下内容:
output <- list()
for(i in 1:length(Scales)){
output[[i]] <- extract(RasterStack, Points, method='simple', buffer = Scales[i], fun = mean)
names(output)[[i]] <- paste("Buffer", Scales[i], sep = "_")
}
你会得到这样的答案:
lsof -n -i4TCP:8081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
通过输入shell来杀死它
node 28571 username 32u IPv6 0x742e2ab233abdb9f 0t0 TCP *:sunproxyadmin (LISTEN)
。使用上一个答案中提供的相同PID。
然后运行kill -9 <PID>
。
答案 3 :(得分:4)
出现了这个问题:
https://github.com/facebook/react-native/issues/541
这似乎是一回事。那里的用户似乎表示他们之前已经从该目录运行过该项目,这让我想知道这是否是由于之前运行的挂起或剩余打包器造成的?尝试关闭终端窗口并重新运行Xcode项目。
通常,这听起来像打包器没有按预期生成文件的问题。终端窗口中还有其他消息吗?
答案 4 :(得分:1)
我想在获得一点挫折之后更新这个,我的设置在杀死所有节点进程并运行上面的命令后仍然无法正常工作。
目前似乎有一个ReactNative未解决的问题:https://github.com/facebook/react-native/issues/14246
解决方案是杀死外部启动的软件包管理器,然后在项目文件夹中运行“npm start”。
答案 5 :(得分:0)
检查 AppDelegate.m 中是否有index.ios
或index
:
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
我有index
我之前使用的是index.ios
和index.android
,这就是它失败的原因。