摘要:之前做過一點前端的小項目所以前端還算熟練因為最近在準備所以想能不能寫一個背單詞軟件正好這學期有個開發課,就用來當大作業了前端后端如何在下調試當然是代理啦在之前兩個項目中為了不用代理強行在后端啟用了事實證明這是個愚蠢的決定因為完全不適合做后端
之前做過一點前端的小項目所以前端還算熟練
因為最近在準備GRE所以想能不能寫一個背單詞軟件
正好這學期有個Android開發課,就用來當大作業了
前端: webpack+react+redux
后端: sinatra+grape(API)+datamapper
當然是代理啦!
在之前兩個項目中為了不用代理強行在后端啟用了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那樣)
不過這個問題是不存在的
window.speechSynthesis不能用,結合下一條導致我查了4小時BUG
React Redux的Reducer不報錯?!如果一個reducer崩潰的話控制臺不會有任何輸出,就是單純的沒反應了
我打了一堆console.log才確認這個問題
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/84740.html
閱讀 2556·2021-09-22 15:25
閱讀 2963·2021-09-14 18:03
閱讀 1212·2021-09-09 09:33
閱讀 1700·2021-09-07 09:59
閱讀 2930·2021-07-29 13:50
閱讀 1500·2019-08-30 15:44
閱讀 1715·2019-08-29 16:22
閱讀 1287·2019-08-29 12:49