一份小程式,裝進口袋帶走

發布: 約 3 分鐘

有一陣子,山姆鍋常把「還不錯用」的小東西散落在各處:某個 gist、某個暫時的 Codesandbox、筆記裡貼半截 HTML。過兩週要找,不是連結失效,就是自己也忘了當初依賴哪些檔。

後來站上多了一塊 /playgrounds/,對外叫遊樂場。裡面一個活動空間叫沙盒,沙盒裡跑的是單頁小程式(SAM)。聽起來很正式,其實山姆鍋的動機很俗:想在瀏覽器裡改檔、立刻看到結果,必要時把整包帶走——換電腦、丟給朋友、自己存檔,都靠同一種包裹。

副檔名是 .sam。骨子裡就是 ZIP,只是換個尾巴,提醒「這是給遊樂場/SAM 用的」。匯入也只認這個尾巴,免得跟一般壓縮檔搞混。

目錄

展開目錄

為什麼要「整包」而不是「一個 HTML」

單檔 HTML 很浪漫,現實卻常常長出 CSS、幾個模組、一張圖、再加一點假後端。散著傳,接收端永遠少一片。

山姆鍋比較能接受的單位是:入口固定 index.html,旁邊該有的檔都在同一棵樹。匯出時預設帶走原始碼;執行期狀態(像模擬的 KV)可以勾選要不要一起,預設不帶——避免把臨時資料當程式碼拷來拷去。密鑰更不該進包裹;那是另一段故事。

所以 .sam 對山姆鍋來說,比較像「可重播的實驗紀錄」,不是雲端專案庫的帳號綁定。遊樂場本身也不收費、也不當你的硬碟:資料權威在瀏覽器的 OPFS。場地開著就能玩;關掉之後,你口袋裡那份 .sam 才是你真正帶得走的東西。

山姆鍋實際怎麼用

常見流程很無聊,也因此好用:

  1. 在遊樂場裡把小東西改到自己滿意。
  2. 匯出沙盒,得到一個 .sam
  3. 之後要接續,就匯入;或用網址帶 ?open= 指向某個公開來源,讓遊樂場自己拉進來(來源要肯給瀏覽器跨域抓)。

沒有帳號流程,也沒有「升級專業版才能匯出」。若這聽起來寒酸,山姆鍋覺得剛好——本來就只是分享一個本機實驗場,不是在賣訂閱。

什麼時候不必搞 Agent

很多人一聽到「遊樂場裡還有總管、Agent」,以為一定要先搞 AI 才能玩。其實不必。

SAM 可以只是一個小工具、一個小遊戲、一個畫布上的惡作劇。總管是其中一種角色——有人想讓 coding agent 幫忙改檔時才需要;單純玩玩,開沙盒、改 index.html 就夠了。

結語

山姆鍋寫這篇,不是要說服誰「快來用完整平台」。只是想說:若你也常做出一些短暫卻真心喜歡的小程式,讓它們變成可帶走的一包,比讓它們活在某個臨時網址裡,踏實得多。

想動手,直接開 遊樂場;有帶著走或匯入翻車的經驗,下面留言區歡迎碎念。

Sampot (山姆鍋)

獨立軟體開發者,專長分散式系統、Web 應用與雲端服務架構。目前一人開發NT² Vault:結構化數位資產保管箱。工作之餘關注開源軟體的發展與應用,偶爾在這裡碎念與分享。