Flutter 零成本搭建個人小部落格

guuguo發表於2021-05-28

一直會喊我郭師傅的同學進了百度。為她感到高興的同時心裡也有一絲苦澀。 一樣的職業,我還在小公司徘徊掙扎,人家已經脫離了苦海。 基礎薄弱!靜不下心!技術淺嘗輒止!五年多的經驗卻還如新手一般只會搬磚!!!

既然寫部落格能沉澱自己的知識體系,成為面試的加分項。 那還不快去做!!

給自己搭一個零成本的部落格網頁,加油郭師傅!!

親手打造 谷果之家

一 · 怎麼下手?

身為開發者,我們都知道,搭建部落格,至少需要一個伺服器來儲存部落格網頁,一個域名對外訪問。在這個友好又和善的世界裡,有沒有慈善家給我們免費提供這種玩意呢?

我就找到了下面這幾個備選方案

  • github page (移動使用者需要翻牆,處於半牆狀態,所以放棄了)
  • Coding page (最後的選擇)
  • gitee page
  • leancloud 免費開發版
  • 阿里雲oss 存圖片 (基本不用錢,使用空間小的時候不用錢)

試試用上面的東西來搞一下。

二. 嘗試可行性

  1. github 新建倉庫,開啟github pages 參考這個部落格
  2. flutter構建簡單的app demo
  3. 編譯出web產物push到github(或者gitee 或者coding)

熱淚盈眶,經過一番操作後,成功在在網頁上開啟了我的demo網頁

Flutter 零成本搭建個人小部落格

不過搞東西難免踩坑,在此記錄下我遇到的幾個小坑

  • Flutter web 頁面展示的時候中文先顯示{口口},一會兒後再正確展示

原因是flutter web 在執行的時候 如果渲染模式使用的是 canvaskit時就會有該bug,可以強制指定渲染模式為html

在編譯的時候新增引數:flutter build web --web-renderer html

  • 編譯產物push到github 之後,開啟網址展示的是一片空白???

stack overflow 大神給出了答案,在flutter web html入口處刪掉 <base href="/">。 再次push,一切變為正常。

  • 阿里雲解析解析域名不可用,最後還是使用新網解析
  • Github pages 的頁面有些網路無法訪問,需要翻牆且服務滿,最後切換到了coding的網站託管

三.搭建leancloud 後端雲服務

在leancloud 中建立賬號,新建app。使用開發版雲端儲存,一天免費三萬次請求~哈哈哈 完全夠用了

最好有個已經備案的域名~ 如果沒有已經備案的域名,leancloud只能使用國際版伺服器,速度很慢~

雲端儲存建表

Leacloud 自帶幾個表,我再開發中用到了自帶的_Role 和 _User表,顧名思義就是角色和使用者表

在我的場景中用法十分簡單。Role 規定了三種角色

  1. 管理員 (admin) —————我自己
  2. 普通使用者(normal) ------普通使用者 暫時用不上
  3. 遊客(tourist)———遊客 有人訪問部落格時候預設登入的賬號

然後就是使用者表和 文章表了。不再贅述

Flutter 零成本搭建個人小部落格

後端互動

因為leancloud 暫時沒有flutter web的sdk,所以web前端與後端互動的方式是restfulapi的方式

ps:雲端儲存有面向flutter 客戶端的sdk,因為做的是web所以用不到

使用方式參考官方文件

主要開發流程

  • 首頁 遊客登入+獲取文章列表
  • 管理員通過隱藏入口登入,可以上傳文章刪除文章
  • end

四.產出結果並部署

經過三四天時間的摸爬滾打加王者榮耀划水(成功打上了王者),終於將勉強可用的版本部署到了coding的託管網站上。

頁面簡簡單單,寥寥幾張圖直接可以展示。

guuguo.top

Flutter 零成本搭建個人小部落格 Flutter 零成本搭建個人小部落格 Flutter 零成本搭建個人小部落格

五.結尾

我總是追不上別人,在別人後面踉踉蹌蹌。看著別人的生活幸福,工資高企,默默羨慕

人總是要從自己的舒適區走出去,碰點壁再回頭也比永遠縮著要好

一旦邁出第一步,人總會硬著頭皮繼續走下去

相關文章