配置React Native的開發(fā)環(huán)境

-------------如果你使用的是Mac OS系統(tǒng),請參照以下步驟-----------

安裝前注意:

1)在Max OS X 10.11(El Capitan)版本中,homebrew在安裝軟件時可能會碰到/usr/local目錄不可寫的權(quán)限問題。可以使用下面的命令修復:

sudo chown -R 'whoami' /usr/local

2)如果命令行提示command not found,請加上sudo獲得最高權(quán)限

一、環(huán)境需求

1.1 ?安裝Homebrew

Homebrew是OS X的套件(包)管理器,用于安裝Node.js和一些其他必須的工具軟件。

安裝方式:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1.2 ?安裝npm 和 Node.js

Node.js最好安裝5.0及其以上更高版本,node安裝成功后npm自動也就有了,直接下載安裝Node.js,網(wǎng)址:https://nodejs.org/en/download/(資料中已有)。

brew install node

1.3 ?安裝WatchMan

WatchMan是由Facebook提供的監(jiān)視文件系統(tǒng)變更的工具。安裝此工具可以提高開發(fā)時的性能(packager可以快速捕捉文件的變化從而實現(xiàn)實時刷新)。

brew install watchman

1.4 ?安裝Flow

flow是一個 JavaScript 的靜態(tài)類型檢查器。這一語法并不屬于ES標準,只是Facebook自家的代碼規(guī)范。所以新手可以直接跳過(即不需要安裝這一工具,也不建議去費力學習flow相關(guān)語法)。

brew install flow

二、React Native安裝

2.1 ?Yarn、React Native的命令行工具(react-native-cli)

Yarn是Facebook提供的替代npm的工具,可以加速node模塊的下載。React Native的命令行工具用于執(zhí)行創(chuàng)建、初始化、更新項目、運行打包服務(wù)(packager)等任務(wù)。

npm install -g yarn react-native-cli


-------------如果你使用的是Windows系統(tǒng),請參照以下步驟-----------

、確保所有的命令行操作都在管理員權(quán)限下操作

、需要安裝的插件

2.1 Chocolatey

Chocolatey是一個Windows上的包管理器,類似于Mac上的watchMan。一般的安裝步驟應(yīng)該是下面這樣, 如果國內(nèi)訪問失敗, 請使用翻墻工具:

@powershell -NoProfile -ExecutionPolicy Bypass -Command"iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))"&& SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

2.2 ?Python 2

choco install python2

2.3 Node

打開命令提示符窗口,使用Chocolatey來安裝NodeJS.

choco install nodejs.install

安裝完node后建議設(shè)置npm鏡像以加速后面的過程(或使用科學上網(wǎng)工具)。

npmconfig set registry https://registry.npm.taobao.org --globalnpmconfig set disturl https://npm.taobao.org/dist --global

-------------以下步驟為公共步驟-----------

三、 ios開發(fā)環(huán)境需求

Xcode 8 及其以上更高版本

四、 Android開發(fā)環(huán)境需求

安裝最新版的JDK:

你可以在命令行中輸入javac -version來查看你當前安裝的JDK版本。下載安裝地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (資料中已經(jīng)存放)

建議安裝Android studio,在安裝過程中請嚴格執(zhí)行以下選項:

1)選擇 Custom 選項

2)勾選Performance和Android Virtual Device

3)安裝完成后,在Android Studio的啟動歡迎界面中選擇Configure | SDK Manager

4)在SDK Platforms窗口中,選擇Show Package Details,然后在Android 6.0 (Marshmallow)中勾選Google APIs、Android SDK Platform 23、Intel x86 Atom System Image、Intel x86 Atom_64 System Image以及Google APIs Intel x86 Atom_64 System Image。

5)在SDK Tools窗口中,選擇Show Package Details,然后在Android SDK Build Tools中勾選Android SDK Build-Tools 23.0.1(必須是這個版本)。然后還要勾選最底部的Android Support Repository。

6)ANDROID_HOME環(huán)境變量

確保ANDROID_HOME環(huán)境變量正確地指向了你安裝的Android SDK的路徑。具體的做法是把下面的命令加入到~/.bash_profile文件中,使用vi ~/.bash_profile。

# 如果你不是通過Android Studio安裝的sdk,則其路徑可能不同,請自行確定清楚。

export ANDROID_HOME=~/Library/Android/sdk

然后使用下列命令使其立即生效:

source~/.bash_profile

可以使用echo $ANDROID_HOME檢查此變量是否已正確設(shè)置。

4.1 ?安裝Genymotion

Genymotion是一個第三方模擬器,它比Google官方的模擬器更易設(shè)置且性能更好。但是,它只針對個人用戶免費。

1)下載并安裝Genymotion

https://www.genymotion.com/

2)打開Genymotion,如果你尚未安裝VirtualBox,它有可能會提示你安裝

3)創(chuàng)建一個模擬器并啟動

4)按下?+M可以打開開發(fā)者菜單(在安裝并啟動了React Native應(yīng)用之后)

4.2 ?Gradle Daemon

開啟Gradle Daemon可以極大地提升java代碼的增量編譯速度。

touch ~/.gradle/gradle.properties && echo"org.gradle.daemon=true">>~/.gradle/gradle.properties

五、 React Native的第一個應(yīng)用

5.1 執(zhí)行命令,生成一個工程

react-native init 項目名稱

注意:由于眾所周知的網(wǎng)絡(luò)原因,需要等待一段時間(具體視網(wǎng)絡(luò)情況而定)。react-native命令行從npm官方源拖代碼時會遇上麻煩,可以將npm倉庫源替換為國內(nèi)鏡像:

npm config set registry https://registry.npm.taobao.org

npm config set disturl https://npm.taobao.org/dist

5.2 ?運行截圖

5.3 目錄結(jié)構(gòu)截圖

目錄結(jié)構(gòu)分析:

a)默認生成androidios兩個平臺的原生項目;

b)其中,index.android.jsindex.ios.js文件為Android和iOS的空殼應(yīng)用文件;

c)此外,node_modules文件夾,是為Node.js存放和管理npm包資源,也包含React Native框架文件。

查看index.ios.js中的代碼:

六、運行工程文件

不管是 iOS 還是 Android,在開發(fā)調(diào)試階段,都需要在 Mac 上啟動一個 HTTP 服務(wù),稱為Debug Server,默認運行在8081端口,APP 通 Debug Server 加載 js。

6.1 打開Xcode,運行你的第一個React Native創(chuàng)建的iOS應(yīng)用

圖1 - 啟動React native 服務(wù)器

圖2 - 客戶端運行界面

6.2 把React Native創(chuàng)建的應(yīng)用跑在Android上

a)?命令行執(zhí)行cd SeeMyGoProduct,路徑切換到項目主目錄

b) 命令行執(zhí)行react-native run-android進行加載運行android 應(yīng)用。

c) 使用編輯器進行打開和修改index.android.js文件,接著通過菜單按鈕選擇Reload JS來進行刷新修改

七、管理React Native庫的版本

在開發(fā)中,會經(jīng)常的去控制React Native的版本庫,得以適配各種條件下的開發(fā),那該如何查看、控制ReactNative的版本呢?

7.1 查看本地的React Native的版本

命令行輸入

react-native --version

命令行效果

7.2?更新本地的React Native的版本

命令行輸入

npm update -g react-native-cli

7.3?查詢react-native的npm包最新版本

NPM的全稱是Node Package Manager?,是一個NodeJS包管理和分發(fā)工具,已經(jīng)成為了非官方的發(fā)布Node模塊(包)的標準。

npm包地址 :

https://www.npmjs.com/package/react-native

命令行查詢

npm info react-native

查詢效果

項目中查看

7.4 升級或者降級npm包的版本

npm install --save react-native@0.18

7.5?更新項目templates文件(可選)

新的npm包會包含更新在運行react-native init命令生成的一些動態(tài)文件,例如init創(chuàng)建項目的時候會生成iOS和Android的子項目,我們可以通過以下的命令進行獲取最新的代碼

命令行查詢

react-native upgrade

文章來源:微信公眾號-旋之華.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,488評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,034評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,327評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,554評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,337評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,883評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,975評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,114評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,625評論 1 332
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,555評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,737評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,244評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 43,973評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,615評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,343評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,699評論 2 370

推薦閱讀更多精彩內(nèi)容