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

(申明: 此系列教程,轉(zhuǎn)載旋之華微信公眾號,如有侵權(quán) . 通知刪除~)

(大家可以添加他的微信公眾號了解更多內(nèi)容.)

image.png

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

安裝前注意:

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

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ā)時(shí)的性能(packager可以快速捕捉文件的變化從而實(shí)現(xiàn)實(shí)時(shí)刷新)含滴。
brew install watchman

驗(yàn)證是否安裝成功

image

1.4 安裝Flow

   flow是一個(gè) JavaScript 的靜態(tài)類型檢查器诱渤。這一語法并不屬于ES標(biāo)準(zhǔn),只是Facebook自家的代碼規(guī)范谈况。所以新手可以直接跳過(即不需要安裝這一工具勺美,也不建議去費(fèi)力學(xué)習(xí)flow相關(guān)語法)。
brew install flow

驗(yàn)證是否安裝成功

image

二碑韵、React Native安裝

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

<a target="_blank" style="margin: 0px; padding: 0px; color: rgb(96, 127, 166); text-decoration: none; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important;">Yarn</a>是Facebook提供的替代npm的工具,可以加速node模塊的下載祝闻。React Native的命令行工具用于執(zhí)行創(chuàng)建占卧、初始化、更新項(xiàng)目联喘、運(yùn)行打包服務(wù)(packager)等任務(wù)华蜒。

npm install -g yarn react-native-cli

2.2 安裝截圖如下:

image

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

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

二 ****耸袜、**** 需要安裝的插件

2.1 Chocolatey

 Chocolatey是一個(gè)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鏡像以加速后面的過程(或使用科學(xué)上網(wǎng)工具)。

npm config set registry https://registry.npm.taobao.org --globalnpm config set disturl https://npm.taobao.org/dist --global

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

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

Xcode 8 及其以上更高版本

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

安裝最新版的JDK****:

   你可以在命令行中輸入

javac -version

來查看你當(dāng)前安裝的JDK版本。下載安裝地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (資料中已經(jīng)存放)

建議安裝Android studio昂儒,在安裝過程中請嚴(yán)格執(zhí)行以下選項(xiàng):

1)選擇 Custom 選項(xiàng)

image

2)勾選PerformanceAndroid Virtual Device

image

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

image

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

image
image

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

image

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是一個(gè)第三方模擬器官边,它比Google官方的模擬器更易設(shè)置且性能更好扑庞。但是,它只針對個(gè)人用戶免費(fèi)拒逮。

1)下載并安裝Genymotion

  https://www.genymotion.com/

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

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

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

4.2 Gradle Daemon

  開啟<a target="_blank" style="margin: 0px; padding: 0px; color: rgb(96, 127, 166); text-decoration: none; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important;">Gradle Daemon</a>可以極大地提升java代碼的增量編譯速度罐氨。
touch ~/.gradle/gradle.properties && echo "org.gradle.daemon=true" >> ~/.gradle/gradle.properties

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

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

react-native init 項(xiàng)目名稱

注意:由于眾所周知的網(wǎng)絡(luò)原因滩援,需要

等待一段時(shí)間(具體視網(wǎng)絡(luò)情況而定)

栅隐。react-native命令行從npm官方源拖代碼時(shí)會遇上麻煩,可以將npm倉庫源替換為國內(nèi)鏡像:

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

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

5.2 運(yùn)行截圖

image

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

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

a)默認(rèn)生成 androidios 兩個(gè)平臺的原生項(xiàng)目玩徊;

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

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

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

image

六潭辈、運(yùn)行工程文件

  不管是 iOS 還是 Android,在開發(fā)調(diào)試階段澈吨,都需要在 Mac 上啟動一個(gè) HTTP 服務(wù)把敢,稱為 **Debug Server** ,默認(rèn)運(yùn)行在 **8081** 端口谅辣,APP 通 Debug Server 加載 js修赞。

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

image
    圖1 - 啟動React native 服務(wù)器
image
    圖2 - 客戶端運(yùn)行界面

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

a) 命令行執(zhí)行

cd SeeMyGoProduct

,路徑切換到項(xiàng)目主目錄

b) 命令行執(zhí)行

react-native run-android

進(jìn)行加載運(yùn)行android 應(yīng)用桑阶。

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

七、管理React Native庫的版本

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

7.1 查看本地的React Native的版本

命令行輸入

react-native --version

命令行效果

image

7.2 更新本地的React Native的版本

命令行輸入

npm update -g react-native-cli

7.3 查詢r(jià)eact-native的npm包最新版本

NPM的全稱是Node Package Manager 铅歼,是一個(gè)NodeJS包管理和分發(fā)工具,已經(jīng)成為了非官方的發(fā)布Node模塊(包)的標(biāo)準(zhǔn)换可。

npm包地址 :

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

命令行查詢

npm info react-native

查詢效果

![image](http://upload-images.jianshu.io/upload_images/7403773-01645e8364f896d4?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

項(xiàng)目中查看

image

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

npm install --save react-native@0.18

7.5 更新項(xiàng)目templates文件(可選)

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

 命令行查詢

  react-native upgrade

八沾鳄、WebStom設(shè)置React Native代碼提示

8.1 從gitHub上下載xml插件

git clone https://github.com/virtoolswebplayer/ReactNative-LiveTemplate

8.2 安裝

ReactNative.xml

復(fù)制到

~/Library/Preferences/WebStorm10/templates

慨飘,然后重啟 WebStrom。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末译荞,一起剝皮案震驚了整個(gè)濱河市瓤的,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吞歼,老刑警劉巖圈膏,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異篙骡,居然都是意外死亡稽坤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門糯俗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來尿褪,“玉大人,你說我怎么就攤上這事得湘≌攘幔” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵淘正,是天一觀的道長摆马。 經(jīng)常有香客問我,道長跪帝,這世上最難降的妖魔是什么今膊? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任些阅,我火速辦了婚禮伞剑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘市埋。我一直安慰自己黎泣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布缤谎。 她就那樣靜靜地躺著抒倚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坷澡。 梳的紋絲不亂的頭發(fā)上托呕,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼项郊。 笑死馅扣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的着降。 我是一名探鬼主播差油,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼任洞!你這毒婦竟也來了蓄喇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤交掏,失蹤者是張志新(化名)和其女友劉穎妆偏,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盅弛,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡楼眷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了熊尉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罐柳。...
    茶點(diǎn)故事閱讀 39,696評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖狰住,靈堂內(nèi)的尸體忽然破棺而出张吉,到底是詐尸還是另有隱情,我是刑警寧澤催植,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布肮蛹,位于F島的核電站,受9級特大地震影響创南,放射性物質(zhì)發(fā)生泄漏伦忠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一稿辙、第九天 我趴在偏房一處隱蔽的房頂上張望昆码。 院中可真熱鬧,春花似錦邻储、人聲如沸赋咽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脓匿。三九已至,卻和暖如春宦赠,著一層夾襖步出監(jiān)牢的瞬間陪毡,已是汗流浹背米母。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留毡琉,地道東北人爱咬。 一個(gè)月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像绊起,于是被迫代替她去往敵國和親精拟。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評論 2 353

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