React Native项目没有index.ios.js或index.android.js

时间:2017-09-27 18:50:20

标签: reactjs react-native

嗨,我是React Native的新手。 我按照下面的链接建立我的第一个项目,但发现没有index.ios.js或index.android.js供我编辑:

https://facebook.github.io/react-native/docs/getting-started.html

仅创建了App.js, 我可以知道如何分别编辑ios和android吗? 谢谢!

5 个答案:

答案 0 :(得分:48)

对于最新版本的React native(0.49.3),似乎不再支持“index.android.js”和“index.ios.js”单独的入口路由。开发人员文档建议我们使用App.js,并且如果需要,通过从react-native包导入{Platform}来仅更改平台特定代码的部分。

Developer documentation

答案 1 :(得分:33)

首先确保您已完成

的下载
  • Java Sdk
  • Android Studio
  • Xcode(在OSX的情况下)
  • HomeBrew(如果是OSX安装节点)
  • Node / NPM(Node在浏览器外运行Javascript .NMM用于 安装和管理依赖项。 Node和NPM结合在一起)

这些是您在项目中需要的一些基本安装

对于Windows / OSX,您需要在命令中运行以下命令 提示/命令行:

这是运行反应原生项目的重要部分:

  • npm install -g react-native-cli

然后你可以使用这个cli开始这样的新项目:

  • react-native init projectname

按照这些步骤操作后,您可以获取index.android.js文件 和index.ios.js文件,您可以在其中编码/编辑ios / android 单独

当index.android.js和我们可以创建App.js或任何其他文件 index.ios.js文件默认出现

但现在我们有index.js文件而不是index.android.js和 index.ios.js 和一个App.js文件,因此您可以在App.js中编写代码并在index.js中注册该文件,使其在ios和android上都能正常工作

所以你的app只注册了一次index.js之前我们需要复制粘贴在index.ios.js和index.android.js中的相同注册代码,使它在android和ios上工作就像复制一样相同的代码,所以他们必须弃用

答案 2 :(得分:1)

根据本文,即使在React Native 0.60中,仍支持那些平台特定的文件扩展名。

https://facebook.github.io/react-native/docs/platform-specific-code#platform-specific-extensions

答案 3 :(得分:1)

此后,在React Native开发平台的后续版本中,index.ios.js和index.android.js文件不再可用于开发目的。现在只有一个文件可用于执行所有开发活动-与index.js文件相关的App.js(就像正常的React.js一样)。

MAC OS上的STEPS

  1. 确保使用MAC OS终端设置所有开发包

  2. 下载并安装最新的Node.js软件包

  3. 运行npm --version确认安装了最新的Node.js版本

  4. 仍然在终端上使用

    安装HomeBrew。
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  5. 然后使用brew install watchman

  6. 安装值班员
  7. 最后,使用

    安装React-Native
    npm install -g react-native-cli
    

然后您可以使用

开始构建您的react native应用
react-native init appName

在大多数情况下,开发时都会编辑App.jsindex.js文件。您也可以下载自己认为合适的其他依赖项。

答案 4 :(得分:0)

您可以手动创建一个javascript文件,并将其命名为 index.android.js index.ios.js 。这些文件中编写的命令可以与 index.js 文件中的命令相同,甚至可以是特定于平台的。