最近開始接觸weex。目前weex尚不成熟,官方文件有些粗糙,初學者難免碰壁。這裡分享兩條我的初學經驗,供參考。
weex有乙個網頁版的預覽工具,提供了修改**後自動重新整理頁面的功能。然而作為移動端開發,網頁版工具顯然不夠,我們需要在模擬器或者真實裝置中開發和除錯。
nsstring * hotreloadurl = [[nsbundle mainbundle] objectforinfodictionarykey:@"wxsocketconnectionurl"];
_hotreloadsocket = [[srwebsocket alloc] initwithurl:[nsurl urlwithstring:hotreloadurl]];
_hotreloadsocket.delegate = self;
[_hotreloadsocket open];
我先用npm start
啟動網頁預覽,然後將info.plist中socket伺服器的位址改為自己的ip再編譯執行專案。結果是不能自動重新整理,socket**也沒有被觸發。可能是位址不對!可是文件裡沒告訴我們如何獲取正確的位址。
靈機一動,網頁版能夠自動重新整理,那麼我們可以通過chrome的開發者工具監聽socket請求。開啟開發者工具,選中network標籤,設定filter為ws,然後修改js**。果然監聽到ws請求:
位址有些奇怪。檢視socket**,發現不是我們想要的資料格式。好討厭的感覺啊~
- (void)websocket:(srwebsocket *)websocket didreceivemessage:(id)message
@try
[self render];
}} @catch(nserror * error) {}
}
於是便請求度娘的幫助。有前輩的教程中提到,需要用weex命令+入口檔名的方式啟動專案,於是照貓畫虎:weex dist/index.js
。
系統報錯並提示了正確的用法,看來教程稍微有些陳舊啦。應該這樣:weex preview dist/index.js
。執行命令後自動開啟了乙個預覽網頁,和之前的頁面有些大同小異。
開啟開發者工具:
用這個位址替換專案中的位址,模擬器可以自動重新整理了!
weex官方文件告訴我們可以通過weex debug
命令和chrome來除錯專案,很好很強大。於是我根據文件的說明整合了wxdevtool
sdk,並新增如下**:
[wxdevtool setdebug:yes];
[wxdevtool launchdevtooldebugwithurl:@"ws:"];
執行weex debug
命令,成功後彈出乙個網頁:
修改**後,可以除錯了!不過位址後的字串8e2ea364-e514-45a1-a022-363c793d048a
在重啟除錯伺服器後會變,有些坑,還是整合乙個掃一掃吧~
weex是國人開源的跨平台框架,前途可量。和reactnative相比,目前weex在開發除錯方面的便利性比較差,而且缺乏一篇融會貫通的基礎教程。讓我這個「老司機」也折騰了一番,何況乙個跨平台新手!希望以後能夠改進吧。
Ajax區域性重新整理和全域性重新整理的區別
在非完全前後端分離專案中,前端開發只需要完成頁面的製作,並且把一些基礎的人機互動效果使用js完成即可,頁面中需要動態呈現內容的部分,都是交給後台開發工程師做資料繫結和基於伺服器進行渲染的 伺服器端渲染 優勢 1 動態展示的資料在頁面的原 中可以看見,有利於seo優化推廣 有利於搜尋引擎的收錄和抓取 ...
Weex iOS 端整合的一些感想
本部落格遷移來自 身邊一直充斥著weex的訊息 從內測到現在 幾乎每乙個移動端的人都在我面前提過它。我隱約的知道它其實是和reactnative類似的東西。因為年初也玩了會兒rn,弄環境弄了挺久了,然後因為教程少,寫了乙個demo之後就沒怎麼深入學習了。weex存在的意義就是用來跨平台的 如果不是跨...
使用MUI框架模擬手機端的下拉重新整理和上拉載入功能
mui框架基於htm5plus的xmlhttprequest,封裝了常用的ajax函式,支援get post請求方式,支援返回json xml html text script資料型別 本著極簡的設計原則,mui提供了mui.ajax方法,並在mui.ajax方法基礎上,進一步簡化出最常用的mui....