在React Native中,无法在任何根目录中找到入口文件index.js:



我在react-native中有一个项目。当我在mac终端上运行react-native run-ios时,我得到了这个错误:

Cannot find entry file index.js in any of the roots: [path to root]

我不知道这意味着什么。请有人帮我澄清一下。我可以在根文件夹中看到index.ios.jsindex.android.js,我有一个名为app的文件夹,其中有一个index.js,我必须在项目根文件夹中添加那个index.js吗?

我正在运行:

react-native-cli: 2.0.1
react-native: 0.49.3
node 6.9.1
npm 3.10.8

这似乎不是你的项目,或者你没有用正确的工具创建它。

如果这只是您的项目,并且从未工作过,请确保使用react native使用"init"命令创建它。通常项目没有另一个index.js.

另一个问题可能是你的index.ios.js指向一个不存在的index.js

这个问题一直发生在我的同事身上,他们都按照我的指示设置了RN dev env,但我没有。对他们来说,最初的构建是可行的,特别是如果iOS或Android本机文件是从头开始构建的,但后续的构建会导致bundler出现可怕的错误:

error: bundling failed: NotFoundError: Cannot find entry file artifacts/index.js in any of the roots

今天,我们注意到"whichwatchman"没有为他们返回任何内容,但为我返回了一个watchman实例。一年前,当我设置我的开发环境时,我安装了watchman,但没有将其包含在他们开发环境的设置说明中。

安装守望者(并确保它在路径上)为我的同事们解决了这个问题。在Mac上,如果使用HomeBrew,您可以通过"brew install watchman"进行安装。安装值班员还有其他选择:https://facebook.github.io/watchman/

复制自我对GitHub问题的回复:https://github.com/facebook/react-native/issues/14246#issuecomment-377302492

当你使用react native cli时,你没有index.js。但index.js是在你使用create-rect native app 时生成的

最新更新