不廢話,先放上官方文檔。
http://reactnative.cn/docs/0.50/getting-started.html#content
React Native運(yùn)行原理
http://blog.csdn.net/xiangzhihong8/article/details/52623852
1.Homebrew, Mac系統(tǒng)的包管理器,用于安裝NodeJS和一些其他必需的工具軟件。
/*修復(fù)命令(由于/usr/local目錄不可寫的權(quán)限導(dǎo)致安裝失敗問題)*/
sudo chown -R `whoami` /usr/local
/*安裝命令*/
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.Node.js是一個(gè)Javascript運(yùn)行環(huán)境
使用上面安裝好的Homebrew安裝Node.js,安裝命令:
brew install node
3.npm是一個(gè)JavaScript的包管理程序(設(shè)置鏡像)
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
4.Yarn替代npm的東西,官方提供
npm install -g yarn react-native-cli
設(shè)置鏡像
sudo chown -R `whoami` /usr/local (修復(fù)命令)
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
5.必裝插件
Watchman是由Facebook提供的監(jiān)視文件系統(tǒng)變更的工具。安裝此工具可以提高開發(fā)時(shí)的性能(packager可以快速捕捉文件的變化從而實(shí)現(xiàn)實(shí)時(shí)刷新)。譯注:此工具官方雖然是推薦安裝,但在實(shí)踐中,我們認(rèn)為此工具是必須安裝,否則可能無法正常開發(fā)。安裝命令:
brew install watchman
Flow是一個(gè)靜態(tài)的JS類型檢查工具。譯注:你在很多示例中看到的奇奇怪怪的冒號問號,以及方法參數(shù)中像類型一樣的寫法,都是屬于這個(gè)flow工具的語法。這一語法并不屬于ES標(biāo)準(zhǔn),只是Facebook自家的代碼規(guī)范。所以新手可以直接跳過(即不需要安裝這一工具,也不建議去費(fèi)力學(xué)習(xí)flow相關(guān)語法)。安裝命令:
brew install flow
Nuclide(此鏈接需要科學(xué)上網(wǎng))是由Facebook提供的基于atom的集成開發(fā)環(huán)境,可用于編寫、運(yùn)行和 調(diào)試React Native應(yīng)用。
譯注:我們更推薦使用WebStorm或Sublime Text或Visual Studio Code來編寫React Native應(yīng)用。所有這些開發(fā)工具都是跨平臺的。其中webstorm是收費(fèi)的,體量較大,功能較多,基本無需配置。其他工具免費(fèi),相對輕量,但或多或少需要下載插件和配置。(我配置的是Nuclide,配置過程中需要注意的是flow版本問題,flow最新版本為0.56.0,Nuclide目前使用的是0.49.0)
npm install flow-bin@0.49 -g(安裝指定版本)
6.創(chuàng)建運(yùn)行RN項(xiàng)目
react-native init AwesomeProject
cd AwesomeProject
react-native run-ios
//react-native run-ios --simulator "iPhone 7" 指定模擬器運(yùn)行,需提前打開模擬器。
*注:解決端口占用問題
lsof -i:8081 //刪除查找占用端口的程序或者資源服務(wù)
kill pid //刪除占用
npm install flow-bin@0.35 -g