一行命令,
把靜態網站交給雲端。
now 整合 Firebase Hosting、Azure 與 FTP 的既有部署流程。選好可發布目錄、組好 provider 命令、部署後輸出預設 URL;部署從多步驟,變成單一步驟。
# 在專案根目錄直接執行 $ now deploy dist → resolving source… ✓ dist/ → reading .now.json… ✓ firebase → building command… ✓ firebase deploy --only hosting ✔ Deployed! https://my-project.web.app▌
不重寫雲端,
只把部署流程收攏成一步。
不重新實作雲端協定
初版重點是包裝與協調,不是重寫 Firebase Hosting、Azure 或 FTP 的部署邏輯。實際部署交給各 provider 已有的 CLI,你既有的登入狀態與權限都直接沿用。
一致的命令,四個平台
無論背後是 Firebase Hosting、Azure Blob、Azure Static Web Apps 或 FTP,對你都是同一支 now。換 provider 換設定,不換肌肉記憶。
設定只存非祕密
.now.json 只保存 provider、來源、base_url 這類非機密設定。token、密碼、account key 一律走環境變數或既有 CLI 登入,不進設定檔、不進 repo。
四個 provider,
各自交給各自的 CLI。
now 負責選目錄與組命令,實際部署由下列 provider CLI 執行。先裝好對應 CLI、完成登入,now 就能接手。
Firebase Hosting
firebase沿用 firebase login 的既有登入狀態。設定 firebase.site 時改用 hosting:<site>。
Azure Blob
azure-blobStatic website 通常用 $web container,搭配 az login 與 --auth-mode login。
Azure Static Web Apps
azure-swadeployment token 走環境變數 SWA_CLI_DEPLOYMENT_TOKEN,不寫進設定檔。
FTP
ftp帳號密碼用 NOW_FTP_USERNAME / NOW_FTP_PASSWORD 環境變數。初版只上傳同步,不做遠端刪除。
設定、選擇、部署,
然後完成。
建立本機設定
在專案根目錄初始化 .now.json,只存非祕密設定。
選擇 provider 並填入設定
指定 provider 與對應的 project、account 或 host 等非機密欄位。
$ now config set firebase.project my-project
部署並拿到 URL
now [path] 等同 now deploy [path]。部署完成後依序挑出預設 URL 並輸出。
→ https://my-project.web.app
兩份設定檔,
一份本機、一份全域。
// .now.json · 本機設定,只存非祕密 { "provider": "firebase", "source": null, "base_url": "https://example.web.app", "default_url": null, "firebase": { "project": "my-firebase-project", "site": null }, "azure_blob": { "account": "mystorageaccount", "container": "$web" }, "azure_swa": { "environment": "production" }, "ftp": { "host": "ftp.example.com", "remote_dir": "/public_html" } }
合併優先序
CLI flags > .now.json > ~/.config/now/settings.json。本機設定覆寫全域,命令列 flag 覆寫一切。
安全性
token、password、secret、account key 一律不寫進設定檔。Firebase Hosting 用 firebase login、Azure 用 az login、SWA 用環境變數、FTP 用環境變數。now config set 也會擋下明顯像祕密的 key。
三種方式,
挑一個順手的。
npm 套件只含 JavaScript wrapper 與安裝邏輯。安裝時自動從 GitHub Release 下載對應平台原生 binary,並驗證 SHA-256。
預設安裝到 $HOME/.local/bin。可用 NOW_INSTALL_DIR=/usr/local/bin 覆寫。
預設安裝到 $env:LOCALAPPDATA\now\bin。可用 -InstallDir 覆寫。
下載對應平台 archive 與同名 .sha256,驗證 checksum 後解壓縮,把 now 或 now.exe 放進 PATH 內目錄。