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

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

安裝前注意:

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

sudo chown -R 'whoami' /usr/local

2)如果命令行提示command not found鹤啡,請加上sudo獲得最高權限

一琅锻、環(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相關語法)。

brew install flow

二汞窗、React Native安裝

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

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

npm install -g yarn react-native-cli


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

只洒、確保所有的命令行操作都在管理員權限下操作

需要安裝的插件

2.1 Chocolatey

Chocolatey是一個Windows上的包管理器劳坑,類似于Mac上的watchMan毕谴。一般的安裝步驟應該是下面這樣, 如果國內(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后建議設置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檢查此變量是否已正確設置。

4.1 ?安裝Genymotion

Genymotion是一個第三方模擬器业崖,它比Google官方的模擬器更易設置且性能更好野芒。但是,它只針對個人用戶免費双炕。

1)下載并安裝Genymotion

https://www.genymotion.com/

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

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

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

4.2 ?Gradle Daemon

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

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

五、 React Native的第一個應用

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

react-native init 項目名稱

注意:由于眾所周知的網(wǎng)絡原因妇斤,需要等待一段時間(具體視網(wǎng)絡情況而定)摇锋。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 目錄結構截圖

目錄結構分析:

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

b)其中乱投,index.android.jsindex.ios.js文件為Android和iOS的空殼應用文件咽笼;

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

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

六双肤、運行工程文件

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

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

圖1 - 啟動React native 服務器

圖2 - 客戶端運行界面

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

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

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

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

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

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末必孤,一起剝皮案震驚了整個濱河市帆精,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌隧魄,老刑警劉巖卓练,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異购啄,居然都是意外死亡襟企,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門狮含,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顽悼,“玉大人曼振,你說我怎么就攤上這事∥盗” “怎么了冰评?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長木羹。 經(jīng)常有香客問我甲雅,道長,這世上最難降的妖魔是什么坑填? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任抛人,我火速辦了婚禮,結果婚禮上脐瑰,老公的妹妹穿的比我還像新娘妖枚。我一直安慰自己,他們只是感情好苍在,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布绝页。 她就那樣靜靜地躺著,像睡著了一般寂恬。 火紅的嫁衣襯著肌膚如雪抒寂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天掠剑,我揣著相機與錄音,去河邊找鬼郊愧。 笑死朴译,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的属铁。 我是一名探鬼主播眠寿,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼焦蘑!你這毒婦竟也來了盯拱?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤例嘱,失蹤者是張志新(化名)和其女友劉穎狡逢,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拼卵,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡奢浑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了腋腮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雀彼。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡壤蚜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出徊哑,到底是詐尸還是另有隱情袜刷,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布莺丑,位于F島的核電站著蟹,受9級特大地震影響,放射性物質發(fā)生泄漏窒盐。R本人自食惡果不足惜草则,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蟹漓。 院中可真熱鬧炕横,春花似錦、人聲如沸葡粒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嗽交。三九已至卿嘲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間夫壁,已是汗流浹背拾枣。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盒让,地道東北人梅肤。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像邑茄,于是被迫代替她去往敵國和親姨蝴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

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