Communitygithub.com

Vincenius/wwebdev

建置、啟動並在真實瀏覽器中驅動 wweb.dev 頁面,以驗證渲染表面的變更。

wwebdev 是什麼?

此技能提供一個一致且可重現的流程,用於驗證 wweb.dev Astro 網站的變更,該網站搭配 React 孤島架構。與僅依賴靜態建置不同,它在真實瀏覽器中載入生產伺服器,以測試孤島互動、渲染輸出和回應式佈局。主要平台為終端機與基於 Node 的伺服器。該技能涵蓋使用 yarn 進行建置與提供服務、透過 Playwright Core 搭配系統 Chrome 進行無頭瀏覽器自動化,以及針對生成器工具進行特定斷言,例如檢查注入樣式的計算樣式、取得 textarea 的輸入值,以及在關鍵斷點(1440px 和 480px)進行螢幕擷取。它還記錄了注意事項,例如控制台必須無錯誤、Vite 資產內嵌限制以避免 CSP 違規,以及 yarn test:parity 快照不適用於瀏覽器驗證。遵循此技能可確保 UI 變更、動畫和行動版版面切換在部署前皆能正常運作。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Vincenius/wwebdev/tree/HEAD/.claude/skills/verify

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

驗證 wweb.dev 的變更

完全靜態的 Astro 網站搭配 React 孤島(islands)—— 驗證意味著在瀏覽器中載入建置後的頁面,並與水合後的孤島進行互動。

建置 + 啟動

yarn install          # 若伺服器依賴遺失(server.mjs 需要 compression/express)
yarn build            # 靜態建置 → dist/(已內建 TZ=UTC)
yarn serve            # 生產伺服器於 http://localhost:4321(非 astro preview)

node server.mjs 在 Yarn PnP 相關環境下會直接失敗 —— 一律透過 yarn serve 執行。在背景中執行;使用 curl -s -o /dev/null -w "%{http_code}" http://localhost:4321/<route> 進行探測。

驅動頁面

儲存庫中未內建 Playwright。在一個臨時目錄中安裝 playwright-core,並使用系統的 Chrome(chromium.launch({ channel: 'chrome', headless: true }))—— 無需下載瀏覽器。孤島元件設定為 client:visible,因此在斷言之前請等待孤島渲染完成後的選擇器出現,並為動畫預留約 1 秒的時間。

對於生成器工具,有用的檢查如下:

  • 計算注入的 <style> 輸出的計算後樣式(動畫名稱、位置、尺寸)
  • textarea 的 .inputValue() 取得可複製的 HTML/CSS 程式碼
  • 在 1440px 和約 480px 的螢幕擷取(部分工具側邊欄在行動版會切換為 column-reverse)

注意事項

  • 控制台應無任何錯誤。Vite 資產內嵌已停用(astro.config.mjs 中的 assetsInlineLimit: 0),因為 data-URI 字型違反 CSP 的 font-src 'self' —— 如果 data-URI CSP 錯誤再次出現,表示該設定已遺失。
  • yarn test:parity 需要 test/baseline/(生產環境 HTML 快照),但該目錄未納入版本控制;缺少時 harness 會回報 ENOENT 錯誤。無論如何,這也無法取代瀏覽器驗證。

相關技能