當前位置:首頁 » 編程軟體 » react單頁編譯

react單頁編譯

發布時間: 2022-12-07 21:07:27

⑴ 如何編譯ReactNative示常式序Examples

編譯示常式序需要將整個項目導入到androidStudio中,androidStudio導入項目時選擇react-native/ReactAndroid目錄。

由於項目依賴ndk因此如果要編譯Examples還需要安裝配置ndk目錄,下載ndk後是一個自解壓程序,會釋放ndk的目錄。

然後需要設置環境變數或者在react-native根目錄下新建local.properties文件,文件內容如下:

sdk.dir=c:\你的sdk目錄

ndk.dir=c:\你的ndk目錄

設置要之後就可以編譯了,導入和編譯的過程比較曲折,請繼續看下文。

在編譯AwesomeProject項目時,沒有用到ndk,實際上這里的ndk默認情況下並沒有用到,只是gradle的設置里有ndk因此必須配置ndk才能導入項目。

ndk是在編譯核心庫是才用到,核心庫位於react-native/ReactAndroid,導入整個項目時以lib形式存在。查看Examples目錄下UIExplorer,會發現在build.gradle是以在線的方式導入核心庫的。通過源碼的方式導入被注釋掉了。

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.android.support:appcompat-v7:23.0.1'

// Depend on pre-built React Nativecompile 'com.facebook.react:react-native:0.11.+'

// Depend on React Native source.

// This is useful for testing your changes when working on React Native.

// compile project(':ReactAndroid')

}

由此可知,編譯UIExplorer並不需要ndk,如果你不想設置ndk,有2個辦法

1.拷貝AwesomeProject項目中的build.gradle,settings.gradle到UIExplorer的android目錄,在導入項目時選擇UIExplorer/android就可以了,這樣androidStudio會導入單個項目,否則會導入整個項目。

2.用androidStudio新建一個同名的項目,然後把UIExplorer目錄中的文件拷貝到新建的項目中。

編譯好之後啟動伺服器端,到react-native目錄下執行:

npm install

node packager\packager.js

windows下如果出現錯誤需要根據錯誤提示修改代碼http://www.cnblogs.com/zhaojietec/p/4853273.html

不過需要注意的是,目前為止,UIExplorer在Android下有一個bug,IOS下沒有問題,通過google可以找到了解決辦法。https://github.com/facebook/react-native/issues/2855

原因是,js代碼和android原生代碼不同步,通過build.gradle可以看到android下的引用的reactNative核心庫為11,而js代碼版本已經更新到12了。

解決的辦法有2個,一個是使用git工具(如smartGit),將js代碼恢復到之前的版本,另一個辦法是重新編譯reactNative的核心庫,編譯核心庫需要ndk,在mac下沒有問題,在windows編譯會出錯。編譯reactNative核心庫,對UIExplorer下注釋掉的依賴項進行修改即可,編譯速度較慢 需要在線下載第三方依賴庫。

dependencies {

compile fileTree(dir: 'libs', include: ['*.jar'])

compile 'com.android.support:appcompat-v7:23.0.1'

// Depend on pre-built React Native//compile 'com.facebook.react:react-native:0.11.+'

// Depend on React Native source.

// This is useful for testing your changes when working on React Native.

compile project(':ReactAndroid')

}

由於windows下無法編譯,所以這里提供編譯好的aar文件,修改UIExplorer build.gradle中的依賴項就可以了。至於如何引入aar文件,可以自行搜索。當然mac下同樣也可以用這個aar,可以省去不少麻煩。

⑵ react單頁面使用apache類靜態伺服器的相關設置

以xammp為例

需要配置

1:本地C:\Windows\System32\drivers\etc下host文件,增加下圖紅線中內容,127.0.0.1為固定本地ip

2:xampp的目錄下我這里是E:\xampp\apache\conf\extra的httpd-vhosts.conf文件中增加下面這個內容,注意域名需要跟上圖的一樣,然後裡面的DocumentRoot是放build出來的文件的所在目錄,這里注意需要是在xampp安裝目錄里,若不想放這里需要另外更改xammp默認目錄位置,否則無許可權訪問會報錯,設置方法自行網路這里不多說

3:設置所有dvademo.com下的子路徑都跳回自身index.hmtl

這里需要在build根目錄內添加一個.htaccess文件,可以網上搜一個或者用webstorm創建一個這種沒有名字只有後綴的文件

內容如下

# use mod_rewrite for pretty URL support

RewriteEngine on

# If a directory or a file exists, use the request directly

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

# Otherwise forward the request to index.php

RewriteRule . index.html

4:完畢

熱點內容
c語言訪問http 發布:2024-05-05 20:04:14 瀏覽:873
什麼可以配置波爾多葉 發布:2024-05-05 20:00:32 瀏覽:962
cgxrar解壓密碼 發布:2024-05-05 19:47:24 瀏覽:632
ubuntu編譯linux內核 發布:2024-05-05 19:46:05 瀏覽:7
php靜態方法調用對象 發布:2024-05-05 19:24:30 瀏覽:366
電腦LNS伺服器地址 發布:2024-05-05 19:22:15 瀏覽:376
不屬於編譯程序組成的部分是什麼 發布:2024-05-05 19:05:34 瀏覽:613
壓縮麵食 發布:2024-05-05 18:55:45 瀏覽:804
linux的gz解壓命令 發布:2024-05-05 18:24:13 瀏覽:311
伺服器機櫃屬於什麼輻射 發布:2024-05-05 18:02:10 瀏覽:336