用Flutter搭建個人網站?so easy!

2022-01-02 郭霖

/   今日科技快訊   /

據外媒報導,在世界各地嚴格執行「封城」措施,促使遠程工作和學習激增後,全球對個人電腦(PC)的需求在2020年第一季度飆升。但這場危機也導致生產和物流問題嚴重延誤,最終導致全球PC出貨量同比下降8%,蘋果Mac更是狂降21%。

/   作者簡介   /

本篇文章來自i校長的投稿,分享了他對用Flutter 搭建個人網站的過程,相信會對大家有所幫助!同時也感謝作者貢獻的精彩文章。

https://www.jianshu.com/u/77699cd41b28

/   簡述   /

曾幾何時,你有沒有一個搭個人網站的衝動,我這個想法在我第一次開始寫博客就有了,可就是沒有搭起來,直到我看到flutter有了web支持,我就在想,是時候了,必須且一定要做,於是乎我就搭建了現在的網站ibaozi.cn,代碼開源至

https://github.com/ibaozi-cn/ibaozi

而這次我要做的並不是基於這個網站開發,我再次申請了一個新域名jetpack.net.cn,讀過我之前的博客可能直到,我做了一個Android Jetpack模版項目在線生成工具,我申請這個就是為了將Android Jetpack整合進來,提供一個好記的域名。

當然我還有另一項計劃,就是做一個Flutter 生態的Jetpack,這次博客就是計劃的第一步,完全開源給大家,讓讀我博客的同學們,跟我一起搭建一個網站,順便學習Flutter技術,好了不多說了,接下來,讓我們看看如何搭建這個網站。

/   環境要求   /

Flutter

需要切換beta版本來支持web開發。環境搭建跳至之前博客:Flutter系列之環境搭建。

https://www.jianshu.com/p/ab2bbcdc54d0

Node

https://nodejs.org/zh-cn/download/

https://www.runoob.com/nodejs/nodejs-install-setup.html

https://expressjs.com/zh-cn/starter/generator.html

具體操作步驟請往下看。

/   Flutter 項目創建   /

假裝你已經搭建好環境。

step 1

打開終端,切換Flutter 分支。

flutter channel beta

flutter upgrade

flutter config --enable-web

flutter devices

Chrome     • chrome     • web-javascript • Google Chrome 78.0.3904.108

一行一行執行命令,最後看到Chrome,祝賀你成功了。

step 2

打開Android Studio。

項目名字、描述簡單修改一下,next下一步。

修改一下包名,然後Finish,需要等待一會兒。

項目創建成功了。這裡就到這,後期博客慢慢介紹每次開發的細節。

/   Node 項目創建   /

我們直接打開Flutter項目的Terminal。

mkdir node

mkdir server

cd node/server

進入server目錄,現在你的node環境應該也可以了吧,好開始用Express 生成器生成項目。

npm install express-generator -g //安裝好了略過

express --view=pug myapp

修改myapp為你自己的項目名。執行完你會看到。

接下來:

瀏覽器試下http://localhost:3000看到如下就ok了。

/   開始項目關聯   /

step 1

在Flutter項目中執行。

構建web包,最終會在build文件夾下生成web包,web包下就是網站的相關文件。

step 2

copy web包下的文件到node項目的public文件下。

我創建了一個public_flutter_web,為了是以後文件區分,也建議你做一樣的操作。

step 3

改造express,因為默認express是展示 views包下的網頁的,而且默認不是html實現。將下圖中文件全部刪除即可。

打開 app.js文件,刪除delete標記部分,添加add標記部分:

step 4

保存修改,重新將服務npm start,再打開http://localhost:3000。看到如下:

大功告成,這樣就行了嗎,nono,對於一個懶惰的人來說,我們要寫一些腳本,輔助項目自動構建。

step 5

由於node項目目錄太深,在命令行運行也很麻煩,我們寫個shell腳本,來幫我搞定。在flutter項目根目錄創建bin文件夾,用來放置我們的腳本。

右鍵New File 命名為 test_start_node.sh,內容如下:

#!/usr/bin/env bash

node node/server/bin/www

也很簡單。這個腳本就是輔助我們開啟node服務。當然我們還會有flutter項目構建的一些腳本,自動copy文件到指定目錄等等,這些之後慢慢補全哦。

/   最後   /

將代碼上傳至github:

https://github.com/ibaozi-cn/flutter-jetpack

/   最後的最後   /

登上你的雲伺服器,通過git 將項目下載到伺服器上,這裡我們需要工具輔助我們服務部署。我選擇pm2+nginx來將我的服務啟動起來。

這裡不詳細說了,網上有一片大海,需要你去浪。有問題的留言我,我可以協助你。最終通過pm2 和 nginx ,項目完美運行。沒錯你看到的是jetpack.ibaozi.cn,哈哈,域名還沒下來,先用了之前的ibaozi.cn,後面我們會遷移到jetpack.net.cn。

推薦閱讀:

這本《第三行代碼》,讓大家久等了!

Android 10適配要點,作用域存儲

會用Retrofit了?你也能自己動手寫一個!

歡迎關注我的公眾號

學習技術或投稿

長按上圖,識別圖中二維碼即可關注

相關焦點

  • mac 搭建 Flutter 開發環境
    最近由於業務需要,開始進行 Flutter 的研究,由於 Flutter 的環境搭建在官網上有些細節不是很清楚,筆者重新整理輸出
  • Mac版最詳細的Flutter開發環境搭建
    flutter耍一耍,發現flutter的環境搭建步驟還是很繁瑣的,官網的搭建教程只是按步驟讓你進行操作,中間出現的問題完全沒有提及,對我這種沒搞過原生開發的小白來說超級不友好。而網上很多相關博客教程,感覺不夠詳細,許多環境搭建過程中的坑確實是提到了,但解決的辦法寫的比較籠統,在此我將本次環境搭建鎖遇到的各種奇奇怪怪的問題一一匯總,爭取結合各路大神的博客加上自己實際遇到的問題整理出一篇超級實用且詳細的教程,讓童鞋們在學習flutter的路上少走彎路,讓你的起跑順暢起來,大神們請指正或忽略。系統環境要求Flutter是相對新出的框架,對系統有一定的要求。
  • 翻譯神器:So easy(很容易)
    黑科技翻譯神器讓翻譯「so easy」    位於青島高新區廣盛路69號的中譯語通科技 (青島)有限公司展廳內,陳列著各式各樣的「黑科技」翻譯神器:從在線翻譯軟體到「黑匣子」翻譯機,科技含量十足的翻譯工具讓人大開眼界。    一款「字幕通」軟體產品首先吸引了記者注意。
  • 推薦幾個優質Flutter 開源項目
    通過最近各個平臺更新的文章標題來看,就能發現 Flutter 非常火,抱著簡單瞧一瞧的心態,搭建了一下環境,準備看些已經開源的完整項目。
  • M1晶片Mac搭建Flutter開發環境全攻略
    其次,靈活的UI搭建以及布局。Flutter已經內置了Material和iOS風格的widget,客戶沒有特別的要求的話,搭建一個框架出來也就分分鐘的事,全部是widget進行排列組合。並且,布局方面也比蘋果的AutoLayout高級多了,直接拿來了前端的FlexBox布局,寫代碼的時候完全不用考慮去計算frame,也不用考慮多設備適配問題,非常的前衛。
  • 用Flutter手擼一個抖音國際版 看看有多炫
    肉眼品世界導讀: 本文為啟明星技術架構師社群作者投稿,字節跳動選擇了flutter
  • 【Flutter桌面篇】Flutter&Windows應用嘗鮮
    前言最近換了一臺新的windows,把搭建Flutter&Windows應用的環境過程順便記錄分享一下。Flutter對MacOS的支持還是非常好的,因為iOS和MacOS最終都是用XCode構建的,所以運行在Mac桌面上也輕而易舉。要讓Flutter運行在Windows上,還是比較麻煩的,這也造成一定的門檻。
  • 幫你整理一份快速入門Flutter的秘籍
    覆蓋的知識點:環境搭建,跑起來helloworld;認識一些基本的Widget,列表,下拉刷新,tab,按鈕,圖片等;Dart語言基礎語法;Json解析;網絡訪問;自定義繪製效果,canvas相關;動畫入門;與本地通信,調用Native方法;接入已有Android
  • 學習Flutter遇到的問題以及解決方案
    https://github.com/flutter-cn/flutter_cookbook/tree/master/examples/stateful_communication9:Flutter 修改圖標、應用名稱、包名等?
  • Flutter 入門路線圖
    • Apps take flight with Flutter3• An open list of apps built with Flutter4• Flutter Awesome5• Start Flutter | Forever free, open source, and easy to use.6[3]https://flutter.dev
  • 如何快速搭建屬於自己的個人博客網站?
    我給他們的建議就是,首先要搭建一個屬於自己的博客網站。這個博客網站就相當於你在網際網路上的鋪面,試想沒有鋪面何來的人流?然而還是有不少人心中還是充滿疑慮,「我不懂編程,也不會寫代碼,可以搭建博客網站嗎?」
  • 「活該」用英語怎麼說?一個單詞搞定,so easy!
    那就是——「活該」用英語怎麼說?一個單詞搞定,so easy!1)「活該」用英語怎麼說呢?在英語文化中有一句常用的俚語可以表示類似的意思。這個表達就叫做That's tough!表示你「活該倒黴」,是不是很easy?看一下它對應的英文解釋吧。
  • Mac 端 Flutter 的環境配置看這一篇就夠了
    前言最近Flutter已經瘋狂的刷屏了各個技術博客、技術網站
  • 手把手教你使用wordpress搭建個人網站
    擊上方「果果小師弟」,選擇「置頂/星標公眾號」
  • Flutter doctor 命令,解決Flutter開發環境疑難雜症,建議收藏
    本頭條核心宗旨歡迎來到「技術剛剛好」作者,「技術剛剛好」是個人維護,每天至少更新一篇Flutter技術文章,實時為大家播報Flutter最新消息。如果你剛好也在關注Flutter這門技術,那就跟我一起學習進步吧,你的贊,收藏,轉發是對我個人最大的支持,維護不易,歡迎關注。
  • 英語「三字經」背起單詞so easy!
    新東方網>英語>英語學習>語法詞彙>詞彙指導>正文英語「三字經」背起單詞so easy!  把眼close,用我nose,去聞rose。  喝著coke,聽著joke,把腰broke。  舉著gun,瞄準sun,不停run。  小小bug,把我hug。  找個excuse,借車use,遭到refuse。  假裝mute,真是cute。  開著car,向著star,路途far。
  • 教你免費搭建個人網站(GitHub)
    下面我來教大家使用此工具快速免費的搭建屬於自己的個人網站。-THE FIRST-首先,您需要確認你本地有一份可以正常打開預覽的個人網頁源碼。如果您沒有網站開發基礎的話請不要繼續向下閱讀,您可以選擇在後臺和我留言,我很樂意幫助您繼續完成屬於您的個人網站。
  • 5分鐘學會Flutter開發
    4.3 FrameworkFramework 層是一個用 Dart 實現的 UI SDK,包含了動畫、圖形繪製和手勢識別等功能。開發者可以通過 Flutter 框架層與 Flutter 交互,該框架提供了以 Dart 語言編寫的現代響應式框架。它包括由一系列層組成的一組豐富的平臺,布局和基礎庫。
  • 英語單詞也分性別 這樣記單詞so easy!
    新東方網>英語>英語學習>語法詞彙>詞彙指導>正文英語單詞也分性別 這樣記單詞so easy! 版權及免責聲明 ① 凡本網註明"稿件來源:新東方"的所有文字、圖片和音視頻稿件,版權均屬新東方教育科技集團(含本網和新東方網) 所有,任何媒體、網站或個人未經本網協議授權不得轉載
  • 「哪裡不會點哪裡」那個女孩,高考出分了,真的so easy
    「so easy!",這個經常在湖南衛視放的廣告,是不是已經耳熟能詳了?廣告裡的小女孩,也讓觀眾記憶猶新。今年,廣告中的「點讀機女孩」高君雨也是一名高考生了,很多人都很關心這個學習「so easy"的女孩會考出什麼樣的成績。據報導,高君雨今年的高考成績是568分。