React Native入門系列:創(chuàng)建我的第一個RN Project

一、前言

1.準備

在創(chuàng)建RN之前沉桌,我們需要先安裝相應的工具和搭建環(huán)境劈愚。
可以參考我上一篇文章:React Native入門系列:如何搭建RN環(huán)境(Windows篇)

2.目標

本章例子中文章達到目標:

  • 創(chuàng)建RN項目步驟
  • 在創(chuàng)建中遇見的問題解決
  • 配置WebStrom

建議下載最新版WebStrom: 官方最新版WebStrom下載地址

  • 使用WebStorm+AndroidStudio來寫RN程序
3.項目地址

二、開啟大表哥代碼模式

1.創(chuàng)建RN項目
  • 在E盤根目錄下 創(chuàng)建一個ReactSpace文件夾 用于儲存RN項目
  • cmd打開dos命令窗口茂浮,開始創(chuàng)建RN項目,如下命令:
    react-native init FirstRNProject
    
初始化創(chuàng)建項目.png
  • 當你的項目創(chuàng)建完畢后,會在你所指定創(chuàng)建的文件夾下面多出一個文件夾席揽,這個就是你當前創(chuàng)建的RN Project顽馋,用webStrom打開項目,目錄結(jié)構大致如下:
RN項目結(jié)構.png
  • 此刻我們應該啟動服務端(packager)幌羞,我們新打開一個cmd窗口寸谜,定位到項目根目錄,命令如下:
      react-native start 
    
或者
    npm start
啟動服務端.png
  • 啟動完成后属桦,先關聯(lián)設備熊痴,這樣才能夠在手機上面正常調(diào)試:

手機的wifi和電腦處于同一個局域網(wǎng)下面,并使用8081端口(切記要保證手機和電腦在同一網(wǎng)段聂宾,且沒有防火墻阻攔)果善。
可通過ipconfig命令查看電腦IP

查看IP.png

然后在手機上面手動添加代理

手動代理.png

手機添加關聯(lián)完畢!(這個時候你用手機打開任意App可以看見你的npm在跑)

  • 打開手機調(diào)試模式連接電腦亏吝,新建一個cmd窗口(切記 保持服務端(packager)在運行),在項目根目錄下輸入運行命令(以Android為例子)盏混,命令如下:
      react-native run-android
    

等命令執(zhí)行完畢蔚鸥,app會自動運行并且打開
這個時候有的手機會顯示一片紅色,這個時候许赃,一般是服務端正在加載數(shù)據(jù)或者加載錯誤止喷,解決辦法就是點擊下面中間的RELOAD重新加載,或者等一會兒。

加載錯誤.png

有的手機做完了上面所有步驟混聊,發(fā)現(xiàn)界面一片空白弹谁,這種情況是因為懸浮窗權限被禁用,去權限管理里面打開權限句喜,重新打開APP预愤,就可以解決該情況。
啟動成功界面應該是下圖:

成功結(jié)果.png

此時此刻咳胃,你已經(jīng)能夠自己創(chuàng)建項目并且運行了植康。

2.安裝配置WebStrom
注意:建議使用2017系列版本的WebStrom,因為后面我們要用到npm功能展懈,老版本是沒有的销睁。
  • 安裝WebStrom

文章開頭我已經(jīng)給出了最新版WebStrom下載地址,這里我說一下2017版本破解方法:
2017.2.27更新
選擇“l(fā)icense server” 輸入:http://idea.imsxm.com/
2016.2.2 版本的破解方式:
安裝以后存崖,打開軟件會彈出一個對話框冻记;選擇“l(fā)icense server” 輸入:http://114.215.133.70:41017

  • 導入項目

點擊Open,打開項目来惧,點開index_android.js發(fā)現(xiàn)有報錯冗栗,原因是由于 React Native 是基于 React 的,而 React 使用的是 JSX 語法,因此贞瞒,使用 WebStorm 開發(fā) React Native 之前偶房,我們首先需要設置支持的 Javascript 語法,點擊 WebStorm-Preferences军浆,在打開的對話框中選擇 Javascript language version 為 React JSX(有的版本是JSX Harmony) 即可在代碼編輯器中識別 JSX棕洋。

設置JSX.png
  • 配置npm

維基百科,什么是npm(全稱Node Package Manager乒融,即node包管理器)掰盘?

點擊Edit Configurations

配置npm.png

點擊添加一個npm

添加npm.png

配置npm參數(shù)

參數(shù)配置.png

配置成功后,現(xiàn)在我們回到編輯界面基本上就可以裝逼了

  • 啟動服務

首先赞季,我們可以關閉之前我們用cmd啟動的服務愧捕,現(xiàn)在改為直接在WebStrom來啟動這個服務,如圖:

啟動服務.png

這個時候我們就可以很容易出現(xiàn)以下錯誤

錯誤.png

提示 “Packager can’t listen on port 8081” 申钩,說明 8081 端口被占用次绘,這里有兩個 解決方案:

方案一: 可以檢查是什么程序占用了這個端口并殺掉它

方案二:修改默認8081端口(記得手機設備端口號對應修改)

  • 方式一:啟動服務前,使用如下命令撒遣,改變端口號

    react-native start --port 8083
    
  • 方式二:手動修改項目下的node_modules\react-native\local-cli\server\server.js下的方法server.js文件邮偎,如下圖所示。

修改端口.png

完了過后就可以愉快的啟動服務了义黎。

打開IDE中的terminal窗口(切記 不要關閉服務,保持run窗口的數(shù)據(jù)在跑)
然后禾进,輸入命令: react-native run-android 回車安裝到手機
這樣,通過WebStrom就完成了整個RN程序運行×椋現(xiàn)在我們就可以開始用代碼搞事情了泻云。

搞事情.gif

下面,我都以Android RN程序為例子:
打開index.android.js文件可以修改狐蜕,然后 react-native run-android重新安裝

修改后.png

Load完成后宠纯,效果如下:

效果.png
  • WebStrom的代碼自動提示配置

1.clone ReactNative-LiveTemplate項目到本地
React Native默認不能智能提示代碼,github有一個開源的插件:ReactNative-LiveTemplate開源地址层释。
ReactNative的代碼模板,包括:
組件名稱
Api 名稱
所有StyleSheets屬性
Mac中調(diào)用ReactNative組件時, 首先 按下 command + J , 然后輸入屬性名的 首字母 如輸入onP 自動提示 onPress, onPressIn, onPressOut, ....

2.添加ReactNative.jar導入到setting

導入setting.png

導入成功后征椒,效果如下:

導入后.png

說明代碼智能提示設置導入成功!

2.使用WebStrom+AndroidStudio協(xié)作開發(fā)
  • WebStrom用做服務端湃累,保持服務開啟勃救,并且在WebStrom中可以修改js邏輯代碼
  • AndroidStudio可以用于安裝APP,和修改Android App原生代碼

1.導入RN項目結(jié)構中的android到AS中治力,等待build成功蒙秒,如下圖

AndroidStudio界面.png

2.現(xiàn)在我們可以run來安裝APP可以替代 react-native run-android命令

快速運行.png

三、RN學習推薦

如果我的文章有幫助到您宵统,請點個贊晕讲,您的鼓勵將是我寫作的最大動力

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末覆获,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子瓢省,更是在濱河造成了極大的恐慌弄息,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勤婚,死亡現(xiàn)場離奇詭異摹量,居然都是意外死亡,警方通過查閱死者的電腦和手機馒胆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門缨称,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人祝迂,你說我怎么就攤上這事睦尽。” “怎么了型雳?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵当凡,是天一觀的道長。 經(jīng)常有香客問我纠俭,道長沿量,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任柑晒,我火速辦了婚禮欧瘪,結(jié)果婚禮上眷射,老公的妹妹穿的比我還像新娘匙赞。我一直安慰自己,他們只是感情好妖碉,可當我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布涌庭。 她就那樣靜靜地躺著,像睡著了一般欧宜。 火紅的嫁衣襯著肌膚如雪坐榆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天冗茸,我揣著相機與錄音席镀,去河邊找鬼。 笑死夏漱,一個胖子當著我的面吹牛豪诲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挂绰,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼屎篱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起交播,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤重虑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后秦士,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體缺厉,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年伍宦,在試婚紗的時候發(fā)現(xiàn)自己被綠了芽死。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡次洼,死狀恐怖关贵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情卖毁,我是刑警寧澤揖曾,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站亥啦,受9級特大地震影響炭剪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜翔脱,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一奴拦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧届吁,春花似錦错妖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至亮蛔,卻和暖如春痴施,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背究流。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工辣吃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芬探。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓神得,卻偏偏與公主長得像,于是被迫代替她去往敵國和親灯节。 傳聞我的和親對象是個殘疾皇子循头,可洞房花燭夜當晚...
    茶點故事閱讀 43,658評論 2 350

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