前言
由於近段時間前端React的火熱,主要使用React語法用一套代碼生成蘋果和安卓雙端代碼的React-native開發備受關注,本人由於項目需要,也開始入門React-native;
PS:對於想要學習RN的友友們,入門一Mac是必須的了,哈哈哈!
配置React-Native環境
本人在mac上配置RN環境,首先進入RN官網,按照官網入門教程配置蘋果開發環境
安裝必須的軟件
Homebrew Mac系統的軟件管理工具
命令行輸入:
/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不能正常識別!
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
安裝完yarn之后就可以用yarn代替npm了,例如用yarn
代替npm install
命令,用yarn add 某第三方庫名
代替npm install --save 某第三方庫名
。
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可以快速捕捉文件的變化從而實現實時刷新)。譯注:此工具官方雖然是推薦
安裝,但在實踐中,我們認為此工具是必須
安裝,否則可能無法正常開發。Flow
Flow是一個靜態的JS類型檢查工具。譯注:你在很多示例中看到的奇奇怪怪的冒號問號,以及方法參數中像類型一樣的寫法,都是屬於這個flow工具的語法。這一語法並不屬於ES標准,只是Facebook自家的代碼規范。所以新手可以直接跳過(即不需要安裝這一工具,也不建議去費力學習flow相關語法)。
brew install flow
Nuclide
Nuclide(此鏈接需要科學上網)是由Facebook提供的基於atom的集成開發環境,可用於編寫、運行和 調試React Native應用。
點擊這里閱讀Nuclide的入門文檔。
譯注:我們更推薦使用WebStorm或Sublime Text或Visual Studio Code來編寫React Native應用。所有這些開發工具都是跨平台的。其中webstorm是收費的,體量較大,功能較多,基本無需配置。其他工具免費,相對輕量,但或多或少需要下載插件和配置
測試安裝
!!!注意!!!:init命令默認會創建最新的版本,而目前最新的0.45及以上版本需要下載boost等幾個第三方庫編譯。這些庫在國內即便翻牆也很難下載成功,導致很多人無法運行iOS項目
!!!中文網在論壇中提供了這些庫的國內下載鏈接。如果你嫌麻煩,又沒有對新版本的需求,那么可以暫時創建0.44.3
的版本。
提示:你可以使用
--version
參數(注意是兩
個杠)創建指定版本的項目。例如react-native init MyApp --version 0.44.3
。注意版本號必須精確到兩個小數點。
react-native init AwesomeProject cd AwesomeProject react-native run-ios
提示:如果run-ios無法正常運行,請使用Xcode運行來查看具體錯誤(run-ios的報錯沒有任何具體信息)。
你也可以在Nuclide中打開AwesomeProject
文件夾 然后運行,或是雙擊ios/AwesomeProject.xcodeproj
文件然后在Xcode中點擊Run
按鈕。
修改項目
現在你已經成功運行了項目,我們可以開始嘗試動手改一改了:
- 使用你喜歡的編輯器打開
App.js
並隨便改上幾行。 - 在iOS Emulator中按下
⌘-R
就可以刷新APP並看到你的最新修改!
完成了!
恭喜!你已經成功運行並修改了你的第一個React Native應用。
安卓端
對於web轉RN的沒有接觸過安卓開發的友友們而言,安卓的各種包安卓才是個大問題,以下介紹我的安卓端環境搭建填坑記;
首先貌似很多Mac自帶安卓JDK ,你可以在終端上輸入java -version 看是否已經有java開發環境。
如果沒有java開發環境,需要到官網下載java-jdk;然后配置系統變量。
一、使用命令行來配置
1.請安裝JDK1.7( 1.6 or 1.8 ) ,下載地址Oracle官方:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
或者http://www.androiddevtools.cn/
2.jdk默認安裝路徑:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
jdk路徑:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
jre路徑:/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java (有空格不能配置環境,所以推薦jdk安裝)
3.打開終端輸入:sudo vi etc/profile
4.鍵入i進入----INSERT----模式
5.輸入如下命令:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PAHT=$JAVA_HOME/bin:$PAHT
export JAVA_HOME
export CLASS_PATH
export PATH
6.按ESC退出插入模式
7.輸入命令 :wq! 進行強制保存退出
8.輸入命令 source .bash_profile 使文件生效
9.輸入命令 java -version 來看當前的java環境
這就算安裝完Java環境了
接下來安裝Android studio 和 sdk
這里極度推薦一個網站:http://blog.csdn.net/eastmoon502136/article/details/50586727
里面詳細的介紹了安卓開發環境的搭建,還有資源提供網站: http://www.androiddevtools.cn/ 很nice ~~
在資源網站下載安卓studio和sdk之后就 Android studio 和 配置sdk目錄;
安卓環境搭建完成。
接下來就是RN安卓模擬機的運行。
我在環境搭建的時候沒有安卓真機,所以下載了網易的mumu在mac測試。但是這需要配置模擬機的運行連接。你可嘗試 adb connect 120.0.0.1:7555 看能不能連接adb
如果adb報錯查無命令。那就需要配置環境變量。
vi ~/.bash_profile
加入以上這句話
export PATH=/Users/zo11o/Library/Android/sdk/platform-tools/:$PATH
其中 /Users/zo11o/Library/Android/sdk/platform-tools/ 是我的sdk目錄下platform-tools目錄
然后:國際慣例::wq
source .bash_profle
接下來就是在輸入adb connect 120.0.0.1:7555 。。如無意外,應該是會顯示連接成功
接下來就是進入RN項目根目錄。
輸入 react-native run-android ,會安裝挺久的一段東西。
如正常,應該會報錯,應為你沒有為rn項目配置sdk環境變量。
那么,進入rn 根目錄下的android/ 目錄,
vim local.properties
加入如下語句:
sdk.dir=/Users/zo11o/Library/Android/sdk
:wq
再次運行react-native run-android
可能還會報錯,哈哈哈應為安卓有很多煩人的包要依賴,所以你按照報錯提示在android 的android SDK 配置上下載應該要安裝的包。
然后,該安裝的包安裝完成。就在輸入 react-native run-android
在安裝模擬機上成功運行啦 ~!!!