公司要求學(xué)習(xí)RN,就在網(wǎng)上搜索教程學(xué)習(xí)了下。
下面是按照步驟一步一步來操作:
一 安裝環(huán)境
對于iOS來說合武,必須要安裝的依賴環(huán)境是Node, Watchman, Xcode , Cocoapods 跃脊。
Xcode和Cocoapods安裝步驟就不說了。
推薦使用Homebrew來安裝 Node 和 Watchman捧书。
按照順序執(zhí)行
brew install node
brew install watchman
(若你安裝了node , 檢查版本是否在12以上)
安裝完node后建議設(shè)置npm鏡像(淘寶源)
#使用nrm工具切換淘寶源
npx nrm use taobao
#如果之后想換成官方源可使用
npx nrm use npm
[Watchman(https://facebook.github.io/watchman)則是由 Facebook 提供的監(jiān)視文件系統(tǒng)變更的工具吹泡。安裝此工具可以提高開發(fā)時(shí)的性能(packager 可以快速捕捉文件的變化從而實(shí)現(xiàn)實(shí)時(shí)刷新)]
此處是插入知識點(diǎn):npm是什么 ?
(1)概念:npm是Node Package Manager的縮寫经瓷,意思是node的包管理器
(2)安裝:集成在node.js中爆哑,隨著Node.js 安裝時(shí)一起被安裝
(3)常見場景:前端框架reactNative, Vue, 后臺node開發(fā)等
(4)常見命令:
npm -v : 查看版本號
npm install XXX(包名) : 下載安裝包
npm install npm -g :更新最新的npm
npm i : 下載依賴庫( 會幫助檢測與當(dāng)前node版本最匹配的npm包版本號,并匹配出來相互依賴的npm包應(yīng)該提升的版本號 )
此處講下 Yarn
yarn 是Facebook提供的替代npm 的工具舆吮,可以加速 node 模塊的下載揭朝。
npm install -g yarn
安裝完 yarn 之后就可以用 yarn 代替 npm 了队贱,例如用 yarn
代替npm install
命令,用 yarn add 某第三方庫名
代替npm install
某第三方庫名
二 創(chuàng)建新項(xiàng)目
使用 React Native 內(nèi)建的命令行工具來創(chuàng)建一個(gè)名為"AwesomeProject"的新項(xiàng)目
第一種方法
npx react-native init AwesomeProject
(使用 React Native 內(nèi)建的命令行工具來創(chuàng)建一個(gè)名為"AwesomeProject"的新項(xiàng)目潭袱。這個(gè)命令行工具不需要安裝柱嫌,可以直接用 node 自帶的npx命令來使用(注意 init 命令默認(rèn)會創(chuàng)建最新的版本))
先到一個(gè)目錄下,如桌面屯换,創(chuàng)建完之后编丘,文件目錄如下:
Podfile里內(nèi)容如下:
采用這種方法創(chuàng)建的時(shí)候,運(yùn)行的時(shí)候可能會在 CocoaPods 的依賴安裝步驟卡很久(命令行停在 Installing CocoaPods dependencies)彤悔,會提示你采用pod install 安裝嘉抓。在執(zhí)行pod install的時(shí)候,會出現(xiàn)很多錯(cuò)誤晕窑,如報(bào)443
(找個(gè)網(wǎng)好的多執(zhí)行幾遍就好了)或者fatal: the remote end hung up unexpectedly
(去網(wǎng)上找找原因設(shè)置下抑片, 如下)
git config --global http.postBuffer 5242880000
git config --global https.postBuffer 5242880000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 99999999
如果都不行,則再去查詢下幕屹,或者找個(gè)網(wǎng)好的多試幾遍
pod install執(zhí)行成功以后蓝丙,運(yùn)行工程,跑起來會報(bào)錯(cuò)
去網(wǎng)上找了原因望拖,設(shè)置了下渺尘,如下,
但是還是不行说敏,請教了小組長鸥跟,他執(zhí)行了
需要到工程目錄下執(zhí)行下面這句
npm i
上句成功后執(zhí)行
pod install
成功后Podfile文件里就會多了RN的依賴庫,工程可以正常跑起來盔沫。
但是采用這種方法創(chuàng)建的工程医咨,會出現(xiàn)很多問題,可以采用下面二種方法創(chuàng)建
第二種方法:指定版本
可以使用--version參數(shù)(注意是兩個(gè)杠)創(chuàng)建指定版本的項(xiàng)目架诞。注意版本號必須精確到兩個(gè)小數(shù)點(diǎn)拟淮。
先cd到某個(gè)目錄下,直接執(zhí)行下面語句谴忧,定好工程名字和版本號很泊,就會創(chuàng)建一個(gè)新的RN工程。
npx react-native init AwesomeProject --version X.XX.X
我選擇的版本是 0.62.0
npx react-native init AwesomeProject --version 0.62.0
第三種方法
可以使用--template來使用一些社區(qū)提供的模板沾谓,例如帶有TypeScript配置的:
npx react-native init AwesomeTSProject --template react-native-template-typescript
創(chuàng)建好工程之后委造,打開終端,到工程iOS目錄下均驶,執(zhí)行 pod install
, 然后在工程主目錄下昏兆,執(zhí)行npm i
, 下載依賴庫, 即可運(yùn)行起來了妇穴。
執(zhí)行了pod install, 還是跑不起來爬虱,看了下使用下面語句隶债,我沒試,大家可以試試
npm uninstall -g react-native-cli
npx react-native init AwesomeTSProject --template react-native-template-typescript
四 編譯并運(yùn)行 React Native 應(yīng)用
我是采用第二種方法創(chuàng)建的工程饮潦,可以在Xcode中直接運(yùn)行燃异,如果沒有修改過目錄中的任何文件時(shí),在終端命令行輸入yarn start
命令, 若有任何修改继蜡,在終端命令行輸入yarn ios
命令完成原生部分的編譯回俐。
模擬器顯示的結(jié)果是