四次點擊即可上線。從開始到完成僅需三十秒。免費方案下每個帳戶可有一個伺服器端應用同時上線。全新子網域第一次收到請求時會多出零點五秒的延遲,之後就不會再有。其中三個數字只是花絮——你點頭知道就好,看完下一節大概就忘了。但「一個」這個數字,才是真正會改變你工作方式的關鍵,所以我想把本章大部分篇幅用在這裡。
為什麼限制是一個,而不是零個或無限個
大多數能免費發布前端網頁的無程式碼工具,要嘛完全不處理伺服器端應用,要嘛用量限制得極為嚴苛,「免費」只是個名義上的說法。在這裡,一個含有帳號系統、資料庫或多人連線狀態的建構專案,會透過與靜態頁面完全相同的「發布」按鈕來上線,伺服器端也在同一個動作中一併被託管與管理——不需要另外設定資料庫、不需要串接環境變數,也不會在三天後才發現登入功能在預覽環境正常、正式環境卻回傳 500 錯誤,因為後端根本沒真正部署成功。這是真實存在的優點,也正因如此,人們才會在碰到上限時感到訝異:在那之前一切感覺都是無限量供應的。
但事實並非如此。在免費方案下,同一時間你只能有一個伺服器端應用上線。靜態建構專案不計入此限制——想發布多少行銷頁面或作品集網站都沒有上限。但第二個需要自己的資料庫或常駐執行程序的建構專案,就得排隊等候——它會完整建構完成、也能預覽,只是不會在自己的網址上線。如果你同一週內在打磨三個 SaaS 構想,只有一個能真正佔用實際運算資源;另外兩個就是做好了卻沒有地址的成品。我認為這條界線劃得算合理——靜態檔案在邊緣節點提供服務幾乎不花平台任何成本,但一個常駐的伺服器程序不同——但這也表示,該由哪個構想佔用這個名額的決定,必須在按下「發布」之前就做好,而不是等你已經習慣同時擁有兩個上線之後才發現。
供參考的四次點擊
- 在建構專案的卡片上,選擇發布。
- 選擇一個網址代稱(slug)—— 你的使用者名稱 於
yourname.buildmidas.com。已被使用的代稱會提供替代建議。 - 確認。
- 從卡片上複製網址,或稍後在已發布頁面找到它。
不需要 DNS 設定、不需要外部帳戶,也不用等候傳播。至於那零點五秒——那不是排隊等候,也不是「24 小時後再回來看」的延遲,只是普通的 CDN 快取預熱。第一位造訪全新子網域的訪客可能會在最近的邊緣節點提取資源套件時,遇到短暫的額外延遲;第二位訪客以及之後所有人,都會直接從快取讀取。實際使用中你根本不會注意到——你發布、點連結,感覺就已經是瞬間完成。我提起這一點,只是因為總有以測量載入時間為業的人會問,為什麼第一次請求和第十次請求不一樣,現在你知道原因了。
唯一值得放慢腳步決定的事:網址代稱(slug)
這個流程中的其他一切都是自動化的機械步驟;唯有網址代稱是需要由人親口說出或憑記憶輸入的部分,所以值得多花一點心思。「demo-v2-final-final」用於內部測試沒問題,但傳給客戶就很不理想。確認之前先在腦中把整個網址唸一遍—— riverside-cafe.buildmidas.com 讀起來很順, riverside-cafe-mvp2.buildmidas.com 則不然。在營運已久的平台上,簡短常見的字很快就會被用光,這也是為什麼代稱一旦被佔用,系統會給你替代建議而不是直接報錯。無論是採用建議還是拒絕,都要有意識地決定——我見過有人在展示途中因為急需一個連結,就隨便選了系統給的代稱,結果因為之後再也沒有自然的時機去修正,就這樣頂著一個彆扭的名稱用了好幾個月。
重新發布不會影響已上線的內容,除非你主動確認
有件事值得及早內化:編輯一個已發布的建構專案並不會變動正式上線的網站。你可以放心破壞東西、嘗試大膽的版面改動、迭代一整週——客戶已加入書籤的網址會持續提供你上次發布的內容,直到你主動再次發布為止。
這就是你的完整版本還原機制,而它之所以好用,正是因為它很無聊。版本 6 上線後出現一個表單悄悄無法送出的錯誤,你不需要去找「還原」指令或提交支援工單。打開版本歷史記錄,找到版本 5,重新發布即可。同一個按鈕、較舊的版本,正式網址立刻切回去。接著你可以毫無壓力地修復版本 6,因為修復期間正式環境並沒有故障。這個做法的代價是每次發布多按一次,因為你得記得主動發布,而不能假設編輯後就會自動上線。相較於那些每次儲存都會立刻上線的工具——展示時看起來很棒,但實際使用三週後就會很難受——這多出來的一次點擊每次都是值得的取捨。
取消發布是指網址不再能解析,而不是「不再被列出」
很多平台所謂的「取消發布」,其實只是把它從展示頁面上隱藏起來,網址本身仍照常運作。而在這裡,它的意思是網址完全失效——沒有快取頁面、沒有佔位畫面、什麼都不會解析。建構專案本身連同所有版本都會完整保留;日後重新發布,同一個網址代稱會原封不動地回來。我用過這個功能,有時是出於平凡的原因(某個客戶合作結束,沒人希望自己舊的商標還掛在一個公開網址上),也有比較不平凡的原因(某個建構專案洩漏了不該公開的內容,需要在按一下按鈕的時間內下線,而不是等提交工單給主機服務商的時間)。這兩種情況都需要同樣的保證,而兩者都能得到滿足。
還有一點不該混為一談:發布會讓任何拿到連結的人都能存取該網址;至於是否可被發現——是否公開列出、有時會出現在展示區——則完全是另一個獨立的開關。許多合法的已發布網站理應永遠只靠連結存取,而選擇公開列出的建構專案,本質上仍是一個普通的已發布網站,擁有相同的歷史記錄和相同的取消發布按鈕。



