搜尋

Vibe Coding 實戰:利用 Google Apps Script 打造免費網頁部署基地

完成了酷炫的 Vibe Coding 專案後,最興奮的莫過於將成果分享給朋友或客戶。但對於許多人來說,部署網頁可能得購買主機、租賃雲端服務、或要設定略嫌繁瑣的 GitHub Pages,有沒有一種方式,能讓丟檔案進雲端硬碟一樣簡單,立刻擁有一個展示網頁呢?答案就是 Google Apps Script ( GAS )!這篇文章將會介紹如何透過 Google Apps Script,讓 Google 雲端硬碟變成為專屬 Web 伺服器,讓 Vibe Coding 成果一鍵上線。

更多參考:Vibe Coding 全方位開發導讀

快速導覽:

在 Google 雲端硬碟中建立 Google App Script

認識 Google Apps Script ( GAS )

Google Apps Script ( 以下簡稱 GAS ) 是 Google 的一個基於 JavaScript 程式語言的雲端腳本平台,它最初的設計是用來自動化處理 Google Workspace( 如 Sheets、Docs、Gmail 等)的繁瑣任務,但它其實隱藏了一個強大的功能:「網頁應用程式 ( Web App )」模式

透過編寫簡單的 doGet() 函式,GAS 可以讀取存放在雲端硬碟中的 HTML 和資源檔,並將其渲染成一個具備獨立網址的網頁。這意味著不需要管理任何伺服器,也不需要處理 SSL 憑證,只要有 Google 帳號,就能擁有一個具備後端處理能力的部署空間。

GAS 常用於以下情境:

  • 自動化報表:自動整理 Google 試算表數據並產生分析報告。
  • 郵件自動化:結合 Gmail 根據表單提交內容自動發送個人化郵件。
  • 外部 API 串接:抓取第三方服務 ( 如天氣、幣值、股市 ) 資料並存入 Google 試算表。
  • 開發輕量級網頁應用:建立互動式儀表板、簽到系統或專案管理小工具。

在 Google 雲端硬碟中建立 Google App Script - 認識 Google Apps Script ( GAS )

為什麼 GAS 是 Vibe Coding 的完美拍檔?

在 Vibe Coding 的世界裡,追求的是流暢的開發節奏與快速的創意實踐,而 GAS 之所以能與這種開發模式完美契合,是因為它徹底移除了「部署」這道技術高牆,讓創意能與開發速度並駕齊驅,下方列舉一些透過 GAS 部署 Vibe Coding 網頁的好處:

  • 零環境設定

    不需要安裝 Node.js、Git 或任何開發環境,這與 Vibe Coding「專注於想法而非技術細節」的初衷完美契合。

  • 自帶簡易資料庫

    直接連動 Google Sheets 試算表存取資料,讓網頁瞬間從「靜態展示」升級為「動態應用」。

  • 雲端原生

    在雲端撰寫程式碼,甚至可以讓 AI 寫好代碼,直接貼上就可以部署。

在 Google 雲端硬碟中建立 Google App Script - 為什麼 GAS 是 Vibe Coding 的完美拍檔?

使用 Google Apps Script 部署網頁的注意事項

雖然 GAS 部署非常便利,但在投入使用前,需要先了解下方幾個關鍵限制與特性:

在 Google 雲端硬碟中建立 Google App Script - 使用 Google Apps Script 部署網頁的注意事項

在 Google 雲端硬碟中建立 Google App Script

前往自己 Google 雲端硬碟裡「要作為網頁部署的資料夾」,從左側「新增」一個「Google App Script」檔案。

在 Google 雲端硬碟中建立 Google App Script - 前往自己 Google 雲端硬碟裡「要作為網頁部署的資料夾」,從左側「新增」一個名為「App Script」

建立的時候可能會出現通知訊息,點擊「建立程式碼」繼續。

在 Google 雲端硬碟中建立 Google App Script - 建立的時候可能會出現通知訊息,點擊「建立程式碼」繼續

完成後就會自動開啟 Google App Script 的編輯畫面。

在 Google 雲端硬碟中建立 Google App Script - 完成後就會自動開啟 Google App Script 的編輯畫面

Google App Script 的編輯畫面

開啟 GAS 編輯器後,主要可以分為以下幾個區域:

Google App Script 的部署方式

當程式碼完成後,點擊「新部署」並點擊左側的齒輪圖示時,可以選擇以下四種部署方式:

  • 網頁應用程式 ( Web App ):

    這種部署方式是本篇教學的重點,主要將程式碼發布為「具備 URL 的網頁」,從中可以設定執行身分 ( 以自己的帳號或特定使用者帳號執行 ) 以及存取的權限。

  • API 執行檔 ( API Executable ):允許外部應用程式 ( 如 Android 或 iOS App ) 透過 Google 官方的 API 介面來執行此腳本的功能。

  • 外掛程式 ( Add-on ):將腳本發布為 Google Sheets、Docs 或 Gmail 的擴充功能,使用者可以從 Google Workspace Marketplace 安裝。

  • 程式庫 ( Library ):將專案封裝起來,讓其他 GAS 專案可以透過 Script ID 引入並使用你寫好的函式。

在 Google 雲端硬碟中建立 Google App Script - Google App Script 的部署方式

使用 GAS 範例程式碼

STEAM 教育學習網特別提供了一個可以把 Google 雲端硬碟變成「建議伺服器」的 GAS,這個 GAS 有下列幾個特色:

  • 讀取並顯示網頁 html 檔案。
  • 使用網址屬性 folder ( 資料夾 ) 和 file ( 網頁名稱 ) 區分不同層檔案
    • 沒有 folder 檔名時,自動讀取根目錄。
    • 沒有 file 檔名時,自動讀取名為 index.html 的檔案。
  • 支援轉換相對路徑,例如 CSS、JS、img 等等,但要開啟資料夾權限。
  • 支援超連結轉換相對路徑,轉換根目錄為 GAS 網址,且超連結後不受 GAS 沙盒影響。

下方是這個 GAS 範例連結,檔名是「GAS Vibe Coding by OXXO.STUDIO」,開啟連結之後,點擊右上方「建立副本」,將檔案複製到自己的 google 雲端硬碟中。

連結:https://script.google.com/home/projects/1Dv8iz2ZaPNFrsNl055JneZLlT_7pWEsPomKf92hNHoyUGZs-cep-wRS4

在 Google 雲端硬碟中建立 Google App Script - 下方是這篇教學所提供的 GAS 範例連結,開啟連結之後,點擊右上方「建立副本」,將檔案複製到自己的 google 雲端硬碟中

確定已經加入自己的雲端硬碟後,把這個 GAS 檔案副本放到指定的資料夾,這個資料夾也是存放 Vibe Coding 網頁的根目錄資料夾裡,下圖範例使用「Web Test」資料夾 ( 名稱自訂 ),放置完成後開啟這個檔案,就可以準備開始進行部署 ( 前往下方段落:正式部署 GAS,讓全世界的人都看到自己的網頁! )。

在 Google 雲端硬碟中建立 Google App Script - 確定已經加入自己的雲端硬碟後,把這個 GAS 檔案副本放到指定的資料夾,這個資料夾也是存放 Vibe Coding 網頁的根目錄資料夾裡

使用 GAS 範例資料庫

STEAM 教育學習網也做了一個公開的 GAS 範例資料庫,也可以透過連結資料庫的方式,使用同樣的功能。首先在特定資料夾中,建立一個「空白」的 GAS,這個資料夾也是存放 Vibe Coding 網頁的根目錄資料夾裡,下圖範例使用「Web Test」資料夾 ( 名稱自訂 )。

在 Google 雲端硬碟中建立 Google App Script - STEAM 教育學習網也做了一個公開的 GAS 範例資料庫,也可以透過連結資料庫的方式,使用同樣的功能。首先在特定資料夾中,建立一個「空白」的 GAS,這個資料夾也是存放 Vibe Coding 網頁的根目錄資料夾裡

點擊左側「資料庫」,輸入下列 ID,選擇最新版本 ( 如果有最新版本的話,數字越大版本越新 ),就可以載入 STEAM 教育學習網的 GAS 範例資料庫。

1TdYzRWi09C5GN_7Xpja-GTYa_zMBQOpLxYAUFGKG9oM1oFxrIHIWOIsV

在 Google 雲端硬碟中建立 Google App Script - 點擊左側「資料庫」,輸入下列 ID,選擇最新版本,就可以輸入 STEAM 教育學習網的 GAS 範例資料庫

載入資料庫之後,複製下方程式碼,將其放到程式碼編輯區中取代原本的程式碼,儲存之後就準備可以開始進行部署 ( 前往下方段落:正式部署 GAS,讓全世界的人都看到自己的網頁! )。

function doGet(e) {
  return GASDatabaseforVibeCodingbyOXXOSTUDIO.render(e);
}

在 Google 雲端硬碟中建立 Google App Script - 載入資料庫之後,複製下方程式碼,將其放到程式碼編輯區中取代原本的程式碼

正式部署 GAS,讓全世界的人都看到自己的網頁!

把 Vibe Coding 完成的網頁放到同樣的資料夾中,如果是「首頁」必須將其命名為「index.html」,如果手邊沒有網頁檔案,也可以使用下方範例檔案 ( 解壓縮後會看見首頁檔案 index.html、img 和 test 資料夾、img 資料夾裡有一張 mona.jpg,test 資料夾裡有 a1.html 和 a2.html )。

範例網頁檔案 ( 需解壓縮 ):vibe-coding-demo.zip

Vibe Coding 實戰:使用 GitHub 部署你的網頁作品 - 下載下方的範例網頁檔案,解壓縮之後可以得到一個如下方架構的資料夾

把檔案上傳到 Google 雲端硬碟,接著就可以開始進行部署。

在 Google 雲端硬碟中建立 Google App Script - 把 Vibe Coding 的網頁也放到同樣的資料夾中,如果是「首頁」,就將其命名為「index.html」

開啟範例 GAS,點擊右上角「部署」,選擇「新增部署」。

在 Google 雲端硬碟中建立 Google App Script - 開啟範例 GAS,點擊右上角「部署」,選擇「新增部署」

選擇「網頁應用程式」,並輸入第一版部署的名稱,以及將存取權限設定為「所有人」。

在 Google 雲端硬碟中建立 Google App Script - 輸入第一版部署的名稱,以及將存取權限設定為「所有人」

第一次部署會需要「授權」,彈出視窗後點擊「授予存取權」。

在 Google 雲端硬碟中建立 Google App Script - 第一次部署會需要「授權」,彈出視窗後點擊「授予存取權」

因為這個程式並沒有進行 Google 驗證的程序,所以會多一層警告通知,需要點擊「Advanced」 開啟進階選單。

在 Google 雲端硬碟中建立 Google App Script - 因為這個程式並沒有進行 Google 驗證的程序,所以會多一層警告通知,需要點擊「Advanced」 開啟進階選單

點擊下方「Go to ....」連結,進行授權作業。

在 Google 雲端硬碟中建立 Google App Script - 點擊下方「Go to ....」連結,進行授權作業

選擇自己的 Google 帳號後,點擊 Continue。

在 Google 雲端硬碟中建立 Google App Script - 選擇自己的 Google 帳號後,點擊 Continue

就可以得到部署完成的訊息,也會出現網頁的公開連結。

在 Google 雲端硬碟中建立 Google App Script - 就可以得到部署完成的訊息,也會出現網頁的公開連結

點擊這個連結,如果看得到剛剛自己上傳的網頁,表示部署順利完成。

在 Google 雲端硬碟中建立 Google App Script - 點擊這個連結,如果看得到剛剛自己上傳的網頁,表示部署順利完成

這個範例程式具備了「轉換相對路徑」的能力,所以如果網頁中有相對路徑的圖片、CSS 或 JavaScript,也可以一併放在 Google 雲端硬碟中,就可以使用相對路徑的方式讀取資料夾裡的檔案,但第一次開啟時如果看不到圖片,這往往是「資料夾權限」造成,只要將資料夾權限打開,就可以看到圖片囉!

特別注意,要使用相對路徑讀取檔案,例如圖片、CSS 或 JavaScript,都需要將該資料夾的「權限」設定為「所有人都可檢視」。

在 Google 雲端硬碟中建立 Google App Script - 特別注意,要使用相對路徑讀取檔案,需要將該資料夾的「權限」設定為「所有人都可檢視」

但很可惜的是,如果要連結不同資料夾裡面的網頁檔案,需要在網址列加上對應的參數和屬性,以下圖為例,如果要開啟放在 test 資料夾裡的 a1.html,要在網址列後方加上 ?folder=test?file=a1.html 即可。

在 Google 雲端硬碟中建立 Google App Script - 特別注意,要使用相對路徑讀取檔案,需要將該資料夾的「權限」設定為「所有人都可檢視」

小結

Vibe Coding 的魅力在於「快」,而 Google Apps Script 則提供了同樣「快」的部署方案。雖然它在流量與網址美觀度上有其侷限性,但作為從開發到發布的「最後一哩路」,它無疑是目前門檻最低且最彈性的工具之一。

只要掌握了 GAS 的基本特性,搭配這篇教學提供的自動資源轉換腳本,就可以搭配 Google 雲端硬碟,產生充滿無限可能的創意孵化器!

延伸閱讀

Vibe Coding 的重點都不在於「寫程式」,而是為了配合程式的各種「準備工作」,下方列出 Vibe Coding 相關的教學,透過一系列的教學,就更能掌握正確且順暢的開發流程:

意見回饋

如果有任何建議或問題,可傳送「意見表單」給我,謝謝~

生成式 AI 教學

基本介紹

關於生成式 AI 關於 AI 繪圖 AI 繪圖的提示技巧 AI 繪圖軟體比較 ( 2023 ) AI 繪圖軟體推薦 ( 2024 ) 2025 生成式 AI 工具推薦

Vibe Coding 專區

Vibe Coding 教學導讀 認識 Vibe Coding Vibe Coding 新手入門 Vibe Coding 規劃架構流程 Vibe Coding 網頁知識 Vibe Coding Python 知識 Vibe Coding 下載網頁程式碼 Vibe Coding Google App Script 部署網頁 Vibe Coding Github 部署網頁 Vibe Coding 固定網頁樣式 Vibe Coding 使用外部圖片 Vibe Coding 使用 SVG 圖示 Vibe Coding 使用外部字體 Vibe Coding + Spreadsheet 資料庫 Vibe Coding + Firebase 即時資料庫 Vibe Coding + Firestore 資料庫 Vibe Coding 資料庫安全防護 Vibe Coding 串接帳號驗證機制 Vibe Coding 串接 Google 雲端硬碟 Vibe Coding 串接 Gemini API Vibe Coding 打造 LINE Bot Vibe Coding 範例 - 英文單字卡

2025 AI 影音工具

ChatGPT - 圖片提示詞技巧 ChatGPT - 客製化機器人 ChatGPT - 使用畫布功能 Gemini - 開始使用 Gemini - 客製化機器人 Gemini - 串接 Google 服務 Gemini - 使用畫布功能 NotebookLM - 開始使用 NotebookLM - 建構知識庫 Google AI Studio - 介面功能 Nano Banana - 影像生成與編輯 Gemini Educator 線上認證 圖片 - AI 圖片快速去背 圖片 - AI 黑白照片上色 聲音 - AI 影片語音轉字幕 影片 - Pika 生成創意影片 影片 - KlingAI 生成影片 影片 - AI 影片趣味特效 影片 - AI 擁抱 ( AI Hug ) 影片 - AI 老照片動起來 圖片 - Dreamina 生成圖片 音樂 - SUNO 創作音樂 音樂 - 免費 AI 音樂素材

ChatGPT

ChatGPT 教學導讀 認識 ChatGPT 開始使用 ChatGPT 優良的提示技巧 基本提示 實用組合提示 角色扮演&對話主題 閱讀並模仿風格 對話中顯示圖片 創作長篇故事與小說 使用 Bing Chat 相關工具或服務

Poe ( Poe AI )

開始使用 Poe 聊天機器人 生成圖片機器人 建立自己的機器人 Youtube 影片重點整理 PDF 重點整理 GPT-4o-mini 分析圖片 讀取網頁進行重點整理 讓 AI 美化提示詞

Ideogram

開始使用 Ideogram 文字產生圖片 圖片 Retry 與 Remix

dzine

開始使用 dzine 提示詞產生圖片 圖片產生圖片 運用圖層功能 運用文字和畫筆 ( 範例 ) 室內設計透視圖實體化 ( 範例 ) 名畫轉真人照片 ( 範例 ) 真人照片轉卡通 ( 範例 ) 真人卡通貼圖

Image Creator

開始使用 Image Creator 提示原則與技巧 搭配 Bing Copilot 產生圖片 ( 範例 ) 產生分享文章縮圖 ( 範例 ) 漫畫書風格

Leonardo.Ai

Leonardo.Ai 教學導讀 Leonardo.Ai vs Midjourney 認識 Leonardo.Ai 註冊與登入 Leonardo.Ai 使用圖片產生器 文字提示語法和準則 Elements 風格元素 使用圖片產生圖片 AI 圖片編輯器 ( Canvas Editor ) 即時 AI 畫布 ( Realtime Canvas ) 即時圖片產生器 ( Realtime Gen ) 圖片升級器 ( Universal Upscaler ) 產生圖片的後續步驟 Prompt Magic 魔法提示 PhotoReal&Alchemy 特色模型 訓練自己的模型 ( 範例 ) 填補缺少的披薩 ( 範例 ) 組合兩片披薩 ( 範例 ) 虛擬陳雷 ( 範例 ) 修改人物年齡 ( 範例 ) 換臉特效 ( 範例 ) 隱藏的人臉或文字 ( 範例 ) 全部填滿皮卡丘 ( 範例 ) 名畫轉真人照片

Recraft

開始使用 Recraft 點陣圖 Raster image 向量圖 Vector image 圖示 Icon 與 Logo 系列影像 Image Set 原型示意圖 Mockup 畫框 Frame、文字 Text 放大 Upscale、改色 Recolor 圖片去背、替換圖片背景 添加、修改、移除景物 圖片產生圖片 點陣圖轉向量圖 自定義圖片風格 合併不同圖片 ( 範例 ) 名畫轉真人照片 ( 範例 ) 照片轉卡通插畫 ( 範例 ) 自製表情貼圖 ( 範例 ) 多格漫畫風格 ( 範例 ) 圖片中加入文字 ( 範例 ) 延伸圖片範圍

Midjourney

Midjourney 教學導讀 認識 Midjourney 使用 Midjourney 使用 niji.journey 設定指令 功能參數 使用文字提示產生圖片 使用圖片產生圖片 優良的提示技巧 多重提示的權重與順序 style tuner 樣式調校 remix 放大、修改與重繪 blend 混合多張圖片 刪除圖片&傳送資訊 ( 範例 ) 修改人物年齡 ( 範例 ) 阿爾欽博托風格 ( 範例 ) 照片轉卡通人物 ( 範例 ) 變胖、變瘦

Vidnoz AI

開始使用 Vidnoz AI ( 影片 ) 照片講話 ( 圖片 ) 人物換臉 ( 圖片 ) 圖片去背

Canva AI 魔法功能

魔法媒體工具 ( 新視窗 ) 魔法工作室 ( 新視窗 ) 魔法變形工具 ( 新視窗 ) 魔法文案工具 ( 新視窗 )

Clipdrop

開始使用 Clipdrop 修改圖片選取區域 延展圖片並生成內容 人物換臉 圖片去背 移除特定物件 放大與增強影像 影像打光 替換天空

Playground AI

開始使用 Playground AI Board 文字產生圖片 Canvas 繪製與修改圖片 Remix 與 Edit 圖片 延展和放大增強圖片 圖片去背、移除物件 搭配 Poe AI 產生圖片

Replicate 模型

認識 Replicate ( 修圖 ) 黑白照片上色 ( 修圖 ) 修復老照片 ( 修圖 ) 增強與放大照片 ( 修圖 ) 更換髮型和表情 ( 繪圖 ) 似顏繪貼圖 ( 繪圖 ) 真人照片轉公仔 ( 繪圖 ) 隱藏的圖案或文字 ( 提示 ) 圖片轉提示詞 ( 提示 ) 改善提示詞

AI 繪圖效果&範例

著色本效果 2D 卡通人物 物品開箱照 像素藝術 百科全書風格 卡通貼紙

AI 繪圖風格大全

風格大全 ( 總覽 ) 風格大全 ( 攝影、照片 ) 風格大全 ( 畫面角度效果 ) 風格大全 ( 媒材、材質 ) 風格大全 ( 卡通、漫畫 ) 風格大全 ( 藝術流派風格 ) 風格大全 ( 藝術家、畫家 ) 風格大全 ( 插畫風格 1 ) 風格大全 ( 插畫風格 2 ) 風格大全 ( 特色風格 )