安裝
必需的軟件
Homebrew
Homebrew, Mac系統的包管理器,用於安裝NodeJS和一些其他必需的工具軟件。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
譯註:在Max OS X 10.11(El Capitan)版本中,homebrew在安裝軟件時可能會碰到/usr/local
目錄不可寫的權限問題。可以使用下面的命令修復:
sudo chown -R `whoami` /usr/local
Node
使用Homebrew來安裝Node.js.
React Native目前需要NodeJS 5.0或更高版本。本文發佈時Homebrew默認安裝的是最新版本,一般都滿足要求。
brew install node
安裝完node後建議設置npm鏡像以加速後面的過程(或使用科學上網工具)。注意:不要使用cnpm!cnpm安裝的模塊路徑比較奇怪,packager不能正常識別!
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
Yarn、React Native的命令行工具(react-native-cli)
Yarn是Facebook提供的替代npm的工具,可以加速node模塊的下載。React Native的命令行工具用於執行創建、初始化、更新項目、運行打包服務(packager)等任務。
npm install -g yarn react-native-cli
安裝完yarn後同理也要設置鏡像源:
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
如果你看到EACCES: permission denied
這樣的權限報錯,那麼請參照上文的homebrew譯註,修復/usr/local
目錄的所有權:
sudo chown -R `whoami` /usr/local
Xcode
React Native目前需要Xcode 8.0 或更高版本。你可以通過App Store或是到Apple開發者官網上下載。這一步驟會同時安裝Xcode IDE和Xcode的命令行工具。
雖然一般來說命令行工具都是默認安裝了,但你最好還是啓動Xcode,並在
Xcode | Preferences | Locations
菜單中檢查一下是否裝有某個版本的Command Line Tools
。Xcode的命令行工具中也包含一些必須的工具,比如git
等。
推薦安裝的工具
Watchman
Watchman是由Facebook提供的監視文件系統變更的工具。安裝此工具可以提高開發時的性能(packager可以快速捕捉文件的變化從而實現實時刷新)。
brew install watchman
Flow
Flow是一個靜態的JS類型檢查工具。譯註:你在很多示例中看到的奇奇怪怪的冒號問號,以及方法參數中像類型一樣的寫法,都是屬於這個flow工具的語法。這一語法並不屬於ES標準,只是Facebook自家的代碼規範。所以新手可以直接跳過(即不需要安裝這一工具,也不建議去費力學習flow相關語法)。
brew install flow
Nuclide
Nuclide(此鏈接需要科學上網)是由Facebook提供的基於atom的集成開發環境,可用於編寫、運行和 調試React Native應用。
點擊這裏閱讀Nuclide的入門文檔。
譯註:我們更推薦使用WebStorm或Sublime Text來編寫React Native應用。
react-native init AwesomeProject
cd AwesomeProject
react-native run-ios
提示:你可以使用
--version
參數創建指定版本的項目。例如react-native init MyApp --version 0.39.2
。注意版本號必須精確到兩個小數點。
你也可以在Nuclide中打開AwesomeProject
文件夾
然後運行,或是雙擊ios/AwesomeProject.xcodeproj
文件然後在Xcode中點擊Run
按鈕。
- 使用你喜歡的編輯器打開
index.ios.js
並隨便改上幾行。 - 在iOS Emulator中按下
⌘-R
就可以刷新APP並看到你的最新修改!
原文地址: http://reactnative.cn/docs/0.45/getting-started.html#content