感觉React Native会越来越多的公司开始研究、使用。所以周六也抽空搭建了iOS的开发环境,以便以后利用空闲的时间能够学习一下。

废话不多说了,下面简单的列出步骤吧。 
1. 安装Homebrew 
Homebrew主要用于安装后面需要安装的watchman、flow 
打开MAC的终端,输入如下命令: 

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

经过漫长的等待后,安装完成。执行 brew doctor 命令。这是homebrew 完成后必须做的一件事,检查homebrew各模块是否正常

2. 安装nvm和nodejs 
nvm是用于nodejs版本管理的工具,用于安装nodejs。 
对于nvm应该可以使用brew直接安装,但是我没有用这个安装,读者可以自己使用如下命令试试: 

brew install nvm 

我使用的另一种方式,在终端中输入如下的命令: 

brew install node . 该命令执行后,自动装好node和npm 

这个用于安装nodejs和npm。npm用于nodejs包依赖管理的工具。 
3. 安装watchman 
watchman是用于监听文件变化的工具,应该是用于监听文件变化,然后界面做出响应。执行如下命令: 

brew install watchman 

4. 安装flow 
flow我个人理解的是用于静态分析js语法错误的工具,能够更早的js的语法错误。执行如下的命令: 

brew install flow 

到这里基本的环境就配置好了,下面创建一个iOS的例子,在终端中将目录切换到你保存工程的目录,然后执行如下的命令:

$ npm install -g react-native-cli  
 $ react-native init AwesomeProject     
$ cd AwesomeProject/
  1. 在git上下载,或者直接clone项目 React native

  2. npm install -g react-native-cli 安装命令行界面工具。

  3. 在react-native的项目目录下使用react-native命令行命令init初始化一个demo项目。react-native init DemoProject 
    初始化完成后,在DemoProject目录下会看到DemoProject.xcodeproj文件,其中的index.ios.js就是控制项目的js文件,简单的demo,主要界面和逻辑都是在这个js文件里。

如果执行到第4步,出现npm install或者提示npm start的警告,可以在当前目录执行一下sudo npm install

第二个命令第一次执行会执行很长时间,因为需要安装许多东西。然后再终端输入如下命令打开工程:

open ios/AwesomeProject.xcodeproj1

mahbtekiMacBook-Pro:~ mahb$ react-native init MahbIOSProject

prompt: Directory MahbIOSProject already exist. Continue?:  (no) yes

This will walk you through creating a new React Native project in /Users/mahb/MahbIOSProject

Installing react-native package from npm...

Setting up new React Native app in /Users/mahb/MahbIOSProject

To run your app on iOS:

   Open /Users/mahb/MahbIOSProject/ios/MahbIOSProject.xcodeproj in Xcode

   Hit the Run button

To run your app on Android:

   Have an Android emulator running (quickest way to get started), or a device connected

   cd /Users/mahb/MahbIOSProject

   react-native run-android

这样就打开了iOS的工程,运行一下就能看到模拟器中的界面。 
下面试着修改index.ios.js中的文本,然后在模拟器上按Cmd+R,这样能够看到修改马上就呈现到模拟器上了。

参考此文档改写 http://blog.csdn.net/mengxiangyue/article/details/48603707

08-30 11:08