運行ReactNative的開源工程

歡迎Follow我的GitHub, 關注我的簡書.

在學習 React Native 的過程中, 需要多學習其他人的代碼, 則運行其他項目必不可少. 完整的 React Native 包含兩個部分, AndroidiOS . 本文介紹一些在運行時的注意事項. 不要太糾結于全平臺, 優(yōu)先學習iOS平臺.

React Native

運行 iOS 版

React Native 的規(guī)范或編碼更偏向于 iOS, 同時一些開源項目僅支持 iOS版本. 因此, 在運行時, 優(yōu)先從 iOS 版本入手.

安裝NPM, npm install, 下載 Node 庫的依賴.

未安裝庫, 錯誤: 'RCTRootView.h' file not found

進入工程目錄的 ios 文件夾, 啟動xxx.xcodeproj文件. 使用 Xcode 啟動, 或 使用 open xxx.xcodeproj 均可.

直接運行項目, 即可顯示. iOS 工程會自啟動服務, 加載本地數(shù)據(jù).

錯誤

react-tools → aft無法下載

依賴的 RN 版本過低. 升級 RN 的版本, 即可, 目前低于版本16, 均無法下載 aft . RN 還在迭代過程中, 低版本不會向下兼容, 要抱有探索精神.

測試0.15.0的aft可以下載, 時間較長, 耐心等待.

loadDep:react-tools → aft ▌ ╢██████████???????????????????????????????????????╟

依賴 RN 的位置, package.json , 修改 react-native 項為較高版本. 高版本與低版本可能會不兼容.

在版本號前需要添加^, 如^0.18.0.

{
  "name": "WeatherProject",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node_modules/react-native/packager/packager.sh"
  },
  "dependencies": {
    "react-native": "^0.18.0"
  }
}

RN 的版本號列表, 參考

低版本兼容

Log類接口修改, 添加 RCTLogSource source 即可.

RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message)

運行 Android 版

多數(shù) Demo 不包含 Android 版本. 直接于項目中, 觀察 index.android.js 文件. 如果文件中添加新的模塊, 則表示支持 Android 版; 如果是默認的HelloWorld, 則表示不支持. 不支持就不必啟動, 使用 iOS 版本即可.

不支持 Android 版本的原因, 主要是 React Native 的控件有一部分是有區(qū)分的, 專門開發(fā) Android 版或 iOS 版. 默認控件通過后綴區(qū)分, IOS 表示 iOS 獨有, Android 表示 Android 獨有, 未添加則表示兩者均可.

使用 react-native 命令啟動 Android 項目.

react-native run-android

即shell命令: cd android && ./gradlew installDebug

注意修改 Gradle 的構建版本

classpath 'com.android.tools.build:gradle:1.2.3'

否則報錯: Error while uploading app-debug.apk : Unknown failure

低版本 RN 運行 Android 項目, 問題多多, 請耐心解決. 推薦使用 iOS 進行學習與演示.


運行項目只是開始, 要想熟練使用, 還要多多練習 RN 的編碼風格.

OK, that's all! Enjoy it!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容