国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

[筆記]React+Cordova踩坑

shadajin / 2608人閱讀

摘要:之前做過一點前端的小項目所以前端還算熟練因為最近在準備所以想能不能寫一個背單詞軟件正好這學期有個開發課,就用來當大作業了前端后端如何在下調試當然是代理啦在之前兩個項目中為了不用代理強行在后端啟用了事實證明這是個愚蠢的決定因為完全不適合做后端

之前做過一點前端的小項目所以前端還算熟練
因為最近在準備GRE所以想能不能寫一個背單詞軟件
正好這學期有個Android開發課,就用來當大作業了

前端: webpack+react+redux
后端: sinatra+grape(API)+datamapper

Cordova 如何在Webpack Dev Server下調試AJAX?

當然是代理啦!
在之前兩個項目中為了不用代理強行在后端啟用了nodejs
事實證明這是個愚蠢的決定
因為nodejs完全不適合做后端,express的結構倒是易懂,但異步編程模式很容易產生難以預料的錯誤
比方說: 如果你傳一個回調函數用來接受數據庫的數據,如果這個函數拋出異常,express不會返回錯誤信息,整個后端會崩潰,因為真正運行這個函數的時候已經脫離express控制的范圍了,而這一點很難注意到
另外sequelize就是一坨翔,命令行工具竟然和庫不兼容,還沒有任何提示

我選擇Ruby

如果希望dev server和后端同時開啟關閉的話,可以考慮concurrently

文件路徑

在引用其他js/css/html文件的時候不能用"/xxx.js",因為cordova并不是開了一個本地服務器,cordova的webpack使用的是file://協議,也就是說路徑應該長這樣:"./xxx.js",在使用create-react-app創建的項目中,可以寫一份新的paths.js和配置文件解決這個問題,更改%PUBLIC_PATH%就可以

圖片路徑

非常詭異的是圖片并不能按照上述做法訪問到
以至于我一度以為cordova不能加載本地文件

不過事實證明其實只是需要寫完整路徑而已

如果你的圖片路徑是www/image.png的話,應該用
cordova.file.applicationDirectory+"www/image.png"

可能需要安裝插件

調試

因為我自己的手機是iOS的,只能用Android模擬器調試
網上給出的做法大部分是基于adb 的,查了很久沒看到怎么直接看控制臺輸出

直到我看到這個: chrome://inspect/#devices

Chrome提供的調試工具,可以直接看到Cordova里Webview的控制臺

可惜不支持Redux和React的dev tool

而且更新界面的時候好TM閃!

默認情況下AJAX是跨域的

糾結了很久如果禁止跨域的話就需要在cordova里弄個代理代理到我的服務器上(就像webpack那樣)
不過這個問題是不存在的

不是所有HTML5的特性都可用

window.speechSynthesis不能用,結合下一條導致我查了4小時BUG

React Redux的Reducer不報錯?!

如果一個reducer崩潰的話控制臺不會有任何輸出,就是單純的沒反應了
我打了一堆console.log才確認這個問題

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84740.html

相關文章

發表評論

0條評論

shadajin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<