Weex 初體驗(1)

lee_鹿遊原發表於2018-04-04

1.什麼是Weex

Weex 是一個使用 Web 開發體驗來開發高效能原生應用的框架。

2.Weex問題

weex 研究了幾天時間,建議新手上來不要直接寫業務邏輯,首先要明白框架原理,以及webpack打包機制。
安裝以及環境搭建我就不介紹了,現成文章很多,我簡單說下一些查不到的小問題。

  1. 為什麼我建立新專案,Vue檔案沒有生成對應的JS檔案。
    當你用weex create建立專案時,會遇到這句提示Use vue-router to manage your view router? (not recommended),選擇N,將會建立不使用vue-router管理的專案,這樣你建立的每個vue檔案,都會生成對應的JS檔案。
  2. 單頁面與多頁面?
    單頁面:當你使用vue-router進行路由管理,其實就是單頁面,你建立的所有vue檔案,都會被webpack打包至index.(web.)js裡,app會在啟動是,load這個index.js,在app下有缺點,啟動時載入js會慢,而且記憶體在app生命期間一直存在,頁面切換效果生硬,沒辦法通過載入bundleJS 熱更新等等。
    多頁面:多頁面簡而言之,就是每個Vue就是一個JS檔案,就是一個頁面,有自己的生存生命週期。Weex 預設建議App使用多頁面進行管理。
    其它:我發現也有App 使用混合開發,有的首頁是vue-router管理,其他內容使用多頁面跳轉。
  3. Weex多頁面專案 使用vue-router
    這個比較簡單,網上例子也很多,建議再建立一個使用vue-router的專案,然後自己手動移植就可以。
    webpack.common.conf.js這個檔案就是webpack打包入口檔案,單頁面和多頁面專案核心區別也在這裡。

  4. weex run ios 命令報錯。
    Updating spec repo master [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
    我遇到這個問題,產生的原因是因為我的mac機器自帶的ruby版本太低。雖然之前使用brew 裝過新的ruby,但是mac自動會使用自帶版本,而不會使用brew的。
    解決方法:跳轉連結

  5. 開源專案
    開源專案在github上還是較多的,比較著名的就是網易嚴選Demo,比較適合新手接觸
    (切記,要先明白打包原理,檔案生成機制)

3.單獨介紹的問題

  1. Weex navigator android無法跳轉問題
    研究期間也查過好多文章,大部分都是複製貼上,而且基本不全。
    內容較多單獨寫篇blog來講 ,部落格地址:點我跳轉
  2. Weex android 載入本地圖片問題
    內容較多單獨寫篇blog來講 ,部落格地址:點我跳轉