React Native開發筆記
一 下載相關開發工具
1 JDK
已安裝了JDK 1.8
2 Android SDK
(Android相關資源整理網站:http://www.androiddevtools.cn/)
這個已有,環境變數也設定好了。
Android SDK Paltform-tools 25.0.1
Android SDK Build-tools 25.0.1
Android SDK Build-tools 23.0.1
SDK Platform 25
SDK Platform 23
Android Support Repository 更新到最新
react-native的Android相關的模組中使用到23的編譯sdk和build-tools。而25是我用來編譯工程用的。將Android Support Repository 更新到最新後,就不會出現缺少第三方包問題。
3 Android Studio
已安裝了2.2版本,用來編譯和除錯,以及新增自定義的模組。
下載2.7版本的安裝包,直接進行安裝。這個好像是用來作為執行輔助的python指令碼。
下載6.10.3版本安裝。用於安裝react-native相關的包,以及當作伺服器執行編寫的js代
6 Git
已安裝了2.10.1版本,這個用於版本管理。
二 使用命令安裝React Native
執行node.js工具,配置下npm映象。(以後的下載就可以直接從淘寶的下載,可以有效避免幾kb的國外下載速度。)。命令如下:
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
現在可以安裝React Native相關的工具。
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
使用命令檢視安裝的ract-native-cli和yarn版本。
react-native -v
結果:
react-native-cli: 2.0.1
react-native: n/a - not inside a React Native project directory
檢視yarn版本。
yarn -v
結果:
yarn install v0.24.4
安裝react-native成功。
三建立工程和執行
1 建立工程
將控制檯的當前目錄切換到工程目錄,使用命令建立react-native工程。
react-native init RNDemo
執行命令後,控制檯便不斷輸出生成過程的日誌資訊。需要10來分鐘的手機。如果網路好,可能會更短些。
2 執行工程
RNDemo工程生成成功,執行Android Studio,將RNDemo中的android專案匯入。連線手機編譯執行。手機上顯示了一個紅色的錯誤頁面。
因為沒有執行js,所以提示伺服器找不到。使用cd RNDemo
進入工程,繼續輸入命令:
react-native start
輸出日誌資訊:
Scanning 580 folders for symlinks in /xx/xx/RNDemo/node_modules (8ms)
┌────────────────────────────────────────────────────────────────────────────┐
│ Running packager on port 8081. │
│ │
│ Keep this packager running while developing on any JS projects. Feel │
│ free to close this tab and run your own packager instance if you │
│ prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
/xx/xx/RNDemo
React packager ready.
可以看到“React packager ready”,RNDemo的js程式碼成功執行。從手機的工作列退出RNDemo,重新進入。結果為白屏。
再啟動一個控制檯,輸入以下adb命令:
adb reverse tcp:8081 tcp:8081
如果有連線多個裝置,則需要指定裝置。首先使用adb devices
檢視裝置,然後使用-s
來指定裝置。
例如:檢視到的裝置號為123-XX-0x1234,則輸入命令為adb -s 123-XX-0x1234 reverse tcp:8081 tcp:8081
。
3 安裝其它模組命令
如果js程式碼有引用到navigation或redux等模組時,由於沒有安裝這些模組,執行時會報錯。可以使用npm命令來安裝這些模組,格式:npm install --save modelName
。
例如:
安裝react-navigation:npm install --save react-navigation
安裝react-redux:npm install --save react-redux