天天看點

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

Weex Android加載遠端伺服器配置

一、伺服器生成JS Bundle并部署

我們在伺服器上使用的工具是Node.js,當然也可以是由Node.js打包生成的Weex。
我們先來說一下Node.js工具,因為個人偏向比較喜歡。Node.js的安裝就不說啦。
           

(一)、Node.js

1、配置Weex工程檔案夾,初始化Weex環境(配置環境見附件)

(1)、配置Weex工程檔案夾

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

最主要的檔案是紅色下劃線标出的檔案。

(2)、初始化Weex環境

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

等待Weex環境初始化完成之後,我們就會在工程目錄下面發現多了一個node_modules的檔案夾。見下圖。

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

2、我們将編寫好的we檔案放入src檔案夾下

3、進入src檔案夾,執行build并且把server啟動起來。

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

執行完npm run build之後,有綠色的成功提示,見圖。并且在src檔案夾下就會發現多生成了一個build檔案夾。在這個檔案夾中就是新編譯生成的JS Bundle檔案。這個JS Bundle檔案根據前面Weex 前端架構介紹上就可知道直接可被Android/IOS的Weex JS引擎解析并渲染。

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

我們,在這裡可以比較一下自己寫的JS Bundle和build生成的JS Bundle的對比:

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

我們都可以看到define和bootstrap函數,和相同的template以及module。這些詳細介紹,請見前文Weex 前端架構介紹。

廢話少說,我們先來看一下效果:

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

當我們在浏覽器中打開js時(http://192.168.56.1:8080/index.html?page=./src/build/hello.js,192.168.56.1寫你自己的IP位址哦),我們就可以很興奮的看到Hello World在向你招手啦。并且我們在伺服器上可以看到GET請求的網絡請求監聽和結果。看到沒有,總共有兩條GET請求,一條是請求我們的hello.js,還有一條是請求weex内置的weex.js。看到這,我相信大家都仿佛明白了些什麼。

當然,我們直接請求http://192.168.56.1:8080/src/build/hello.js就是我們生成的JS Bundle啦。

這是Web端,Weex追求三端一緻,我們怎麼能不來看看用戶端呢,下面以Android端為例。(下面會介紹如何讓Android加載JS Bundle,請大家稍稍等待哦,我們先來看看效果)

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

看到了沒,鮮花刷起來。

(二)、Weex:

在這裡我們直接使用生成的工具weex來展示一下效果,至于如何安裝weex工具的,這裡不說了,阿裡有提供的cli,直接安裝就是了。

直接運作weex hello.we即可。

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

之是以不喜歡用這種方式,主要是時間耗費長,而且生成東西太多。。。下圖是通過這個指令生成的目标檔案及相關。

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

我們再來看看dist檔案夾下是什麼

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

大家再來看看demo檔案夾。

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

看了這些,再結合方法一大家又瞬間明白了一些吧。

二、用戶端Android加載JS Bundle

兩種方式:直接放在本地Asserts檔案夾下,二是加載遠端JS Bundle。

下面是實作方法:

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

大家可以看到render()和renderByUrl()這兩個方法就明白了。

值得注意的是,浏覽圖檔需要自己實作圖檔擴充卡,我這邊是用ImageLoader實作了一個,當然今後也是要轉向Fresco的,因為目前Fresco用到了Drawee,一種基于ImageView的擴充類,故而不怎麼好辦,今後我的想法是直接将image解析成Fresco支援的Drawee。

一步步教你學Weex Android加載遠端伺服器配置Weex Android加載遠端伺服器配置

附件有兩個檔案夾:

weex目錄為上文提到的配置環境。及we源檔案示例。

FirstWeex為Android用戶端工程。