React Native環境配置之Windows版本搭建

接近年末了,回想這一年都作了啥,學習了啥,而後忽然發現,這一年買了很多書,看是看了,就沒有完整看完的。悲催。
而後,最近項目也不是很緊了,因此抽空學習了H5。自學啃書仍是很無趣的,雖然Head First Html5 Programming(中文版)這本書講的頗有意思,可是學習了大半本就想本身動手練練,因此得找個框架玩玩。
另外以前也就據說過React Native很火,火了半個地球了,並且它號稱「Learn once,write anywhere」這句話在移動開發猿眼裏意味着什麼呢,我不說你估計也知道:「跨平臺」。像我這種安卓猿寫出來的代碼能跑在IOS上,相信沒有比這更開心的了。
並且,我在學習H5,那學習H5 Web開發怎麼和個人安卓開發共存呢,React Native直接解決了個人問題:在運用H5開發的同時,還能夠有效調用android原生態開發,直接二者兼具,既保留了android原生開發也運用了H5 web開發,perfect。因此框架也先不找了,直接堅決果斷地投入到了React Native的學習當中。而後接下來的配置就讓我陷入了苦逼的憤懣中,因此在配置好以後立馬的記錄下來,一是記錄本身的學習通過,二是,給遇到一樣麻煩的同窗提供一些借鑑。java

由於我是在WIN10上搭建的,因此以此爲版。node

  • 一、安裝JDK

這個作java、android開發的都已經安裝好了,沒安裝的能夠自行安裝,這裏提示注意的地方:必定必定要在系統變量中配置JAVA_HOME: D:\guanmanman\Jdk8\jdk8,值是你的JDK安裝目錄,,請記得。react

  • 二、安裝SDK

由於我是搞android開發的,因此這裏是安裝SDK,這裏須要:
① 環境變量ANDROID_HOME:XXX
例 如:(ANDROID_HOME: D:\guanmanman\androidStudio\sdk)
② 環境變量PATH例如:
例如:(PATH:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools)android

  • 三、下載SDK

React Native使用的是android版本是23.0.1,只支持這一個sdk版本,因此你必須先下載他的源碼及工具,否則後面後報錯,我就遇到了git

這裏寫圖片描述

若是你要是用的google 模擬器還要下載
這裏寫圖片描述github

ok 上面的基礎東西下載好安裝完,咱們接下來就正式開始咱們的React Native所須要工具下載和安裝了:web

1:node.js的下載和安裝npm

下載地址:https://nodejs.org/en/,本人用的版本是, V6.9.2windows

安裝則是選擇好目錄傻瓜式的安裝便可。react-native

2:Git的下載和安裝

下載地址:https://git-for-windows.github.io/ 直接download便可

安裝注意選擇支持windows Command 和 windows ' default console window

這裏寫圖片描述

這裏寫圖片描述

ok 安裝完上面兩個工具咱們就能使用npm命令了,能夠看下:
這裏寫圖片描述

3:配置國內鏡像

由於須要下載東西而遭到國內禁止,你懂得,因此得配置鏡像,方便咱們下載:

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

命令行執行這兩段配置命令。

4:下載 react-native-cli

這是react-native命令執行所必須不可缺乏的文件。

執行命令:npm install -g react-native-cli

這個根據網絡快慢,下載時間有所不一樣。

完成react-native-cli的下載,到這裏咱們就完成了全部的基礎配置了,也就是說前期工做已作完了,下面就能夠建立項目進行開發了,是否是很開心,有點火燒眉毛呢,走着看吧,偷笑。

建立項目工程:

1:建立一個FirstRNProject工程

開始以前先建立一個專門用於保存React-Native工程項目的工做區:React-native_workSpace

而後執行命令:react-native init FirstRNProject 回車,init 表明建立一個工程。

這裏寫圖片描述

當現實這個界面的時候就表明咱們的項目已建立完成,能夠到你的工做區間去查看。

2:開啓FirstRNProject工程

工程項目已創建完畢,而後咱們進入這個工程中,並執行輸入react-native start,開啓這個工程

這裏寫圖片描述

3:檢查FirstRNProject項目是否啓動成功

在瀏覽器中訪問http://localhost:8081/index.android.bundle?platform=android

這裏寫圖片描述

當顯示如上的腳本就表明已成功開啓。

4:運行FirstRNProject項目

進入項目目錄,輸入react-native run-android 回車,

這裏寫圖片描述

執行命令後會去下載相關的資源,這個過程仍是蠻長的,耐心等待吧。

而後下載完後就會安裝工程在手機上了,你是否以爲已完成了呢,我要告訴你想多了,來看看咱們碰到了那些坑吧。

遇坑則填:

1:sdk工具包

這裏寫圖片描述

從標出來的地方能夠看出,須要SDK工具版本是23.0.1,這個簡單,開啓androidstudio SDK Manager 進行下載吧,這也是在基礎配置時我強調的必定要下載這個版本的緣由。

下載完在繼續運行項目 react-native run-android

2:JAVA_HOME的配置

這裏寫圖片描述

出現這個問題是由於個人環境變量path中直接用的是jdk的安裝目錄並無配置JAVA_HOME,這裏直接添加一個JAVA_HOME的配置,在填入jdk的安裝目錄便可。

3 :Unable to upload some APKs異常

這個問題是在5.0以上的真機中會出現 Unable to upload some APKs的問題,這時候咱們只須要把項目工程中的android目錄中的build.gradle文件中的

dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
    }

classpath 中的1.3.1給爲1.2.3便可,還要設置android/gradle/wrapper/gradle-wrapper.properties文件的jar包

把distributionUrl=https://services.gradle.org/distributions/gradle-2.4-all.zip改成

distributionUrl=https://services.gradle.org/distributions/gradle-2.2-all.zip

ok 改完再次執行項目:react-native run-android,它會從新下載zip包,又是N等。

在煎熬的等待中,終於下完了,進入真機或是模擬器中查看。

4 :can't find variable:異常

這個須要你配置下真機IP和端口號,上下屢次搖晃手機,會出現一個菜單欄,點擊Dev Settings後,點擊Debug server host & port for device,設置IP和端口,端口號固定爲8081,IP爲你的主機ip地址。

ok,返回,再次上下搖晃手機,在菜單欄中,選擇Reload JS,是否是感受OK了呢,你想多了。

5:SyntaxError異常

本覺得到這裏就ok了,結果,運行一看,好吧,真不捨得我:

Strict mode does not allow function declarations in a lexically nested statement.

這裏寫圖片描述

這個異常卡了我兩天,若是你也遇到這個異常了,你就懂了個人無奈,由於這不是人爲或是配置出了問題,你要是知道了答案確定十分的震驚,那是由於:這個異常是 React Native 版本自帶的Bug,兩天的鬱悶到最後解決了仍是同樣的無語。

這這裏感謝React Native7羣 (115487854)裏的 晴朗 大神,他一言就解決了我兩天的困惑。
「 react-native init 項目名 --version 0.38.0, 這是0.39的自身的問題,換0.38解決。 」他這樣說道。

針對這個異常,下面提供兩種解決方案:

方法一:在新建項目時,使用命令react-native init 項目名 --version 0.38.0

方法二:打開工程中node_modules\react-native\Libraries\Core\InitializeCore.js文件找到 112 行,更改function handleError(e, isFatal) 爲 var handleError = function(e, isFatal)而後在工程中執行 npm start --reset-cache從新啓動

而後,就沒有而後了。

這裏寫圖片描述

以上就是最後,這個問題解決以後就正式的進入RN界面了。

OK,到這裏就講完了,我估計我所遇到的坑是比較多的了,但願你能少於點坑,尤爲是新人剛學習,信心遭受10000點暴擊。

接下來就要正式的學習RN技術了,很期待,在學習中我也會時不時把本身的學習成果與你們分享,有興趣的同窗一塊兒努力吧。

更多資訊請關注微信平臺,有博客更新會及時通知。愛學習愛技術。
這裏寫圖片描述

相關文章
相關標籤/搜索