參與貢獻

編輯此文件

翻譯文件,或在您的電腦上開啟完整專案。

在您選擇提交成果之前,不會發布任何內容。

CLI 參考資料

Wails CLI 指令的完整參考資料

概觀

Wails CLI(wails3)是用來建立、開發、建置、簽署、封裝及檢查 Wails 3應用程式的命令列進入點。大部分的建置協調工作會委派給各專案的 Taskfile(位於專案的build/下)——許多wails3指令只是呼叫特定工作項目的薄層包裝。

若要取得任何指令的最新說明,請執行:

bash
wails3 --help
wails3 <command> --help

專案生命週期

指令 說明
wails3 init 從範本建立新專案。旗標:-n(專案名稱)、-t(範本,預設為vanilla)、-p(Go 套件名稱,預設為main)、-d(專案目錄,預設為.)、-q(安靜模式)、-l(列出範本)、-mod(Go 模組路徑)、--git(Git 儲存庫 URL)、--skipgomodtidy、-s(略過遠端範本警告)、--productname/--productdescription/--productversion/--productcompany/--productcopyright/--productcomments/--productidentifier。
wails3 dev 以開發模式執行應用程式,並啟用前端熱重新載入。旗標:--config(預設為./build/config.yml)、--port(Vite 開發伺服器連接埠)、-s(啟用 HTTPS)。
wails3 build 建置專案。這是 Taskfile build工作項目的薄層包裝。旗標:--tags(以EXTRA_TAGS=轉送)、--obfuscated(使用 Garble 建置;請參閱混淆建置)、--garbleargs(在build子指令之前,將額外旗標轉送至garble)。
wails3 package 執行平台專用的package Taskfile 工作項目。
wails3 task [name] 執行任何 Taskfile 工作項目;未指定名稱時,--list會顯示所有已註冊的工作項目。
wails3 mcp 啟動專案 MCP 伺服器。由代理程式啟動的程序會自動使用 stdio;在互動式終端機中使用時,則會自動使用迴路 Streamable HTTP。
wails3 doctor 輸出環境診斷報告。
wails3 doctor-ng doctor的新版 TUI 變體。
wails3 version 輸出 CLI 版本。
wails3 releasenotes 輸出近期版本資訊。
wails3 docs 在瀏覽器中開啟文件網站。
wails3 sponsor 開啟贊助頁面。

產生

wails3 generate <subcommand>:

子指令 說明
generate bindings 產生從 Go 到前端的繫結。旗標:-d(輸出目錄)、-models、-index、-ts、-i(介面)、-b(套件組合)、-names(輸出Call.ByName)、-noevents、-noindex、-dry、-silent、-v、-clean(預設為true)、-f、-obfuscated(產生具有穩定繫結 ID 的wails_obfuscated.gen.go,供 Garble 建置使用;請參閱混淆建置)、-obfuscated-output(產生檔案的目錄;預設為 main 套件目錄)。接受套件模式(例如./...);若未提供,則改用目前目錄。
generate icons 將來源 PNG 轉換為各平台的圖示格式。旗標:-input、-windowsfilename、-macfilename、-iconcomposerinput、-macassetdir。
generate build-assets 根據build/config.yml產生build/目錄的內容(Taskfile 程式碼片段、NSIS 檔案、Info.plist、.desktop範本等)。
generate runtime 重新產生隨附並提供給 webview 的預先建置/wails/runtime.js。
generate syso 產生 Windows .syso資源檔案(圖示 + 資訊清單 + 版本資訊)。
generate webview2bootstrapper 產生適用於 Windows 的 WebView2 啟動安裝程式。
generate constants 根據 Go 事件型別產生 JS 事件名稱常數。
generate template 建立新專案範本的基本架構。
generate .desktop 產生 Linux .desktop檔案(供 AppImage/DEB/RPM 使用)。
generate appimage 產生 AppImage 建置目錄。

更新

wails3 update <subcommand>:

子指令 說明
update build-assets 從build/config.yml重新整理build/目錄(盡可能保留使用者的編輯)。
update cli 自行更新wails3二進位檔。

程式碼簽署與封裝

指令 說明
wails3 setup signing 互動式精靈,可為其在build/中偵測到的平台設定簽署。旗標:--platform(可重複指定;預設從建置目錄自動偵測)。
wails3 setup entitlements 用於設定 macOS 權利的互動式精靈。旗標:--output(路徑;預設為build/darwin/entitlements.plist)。
wails3 sign [GOOS=…] 包裝器,會執行目前作業系統專屬的*:sign Taskfile 工作(或透過GOOS指定的平台工作)。
wails3 tool sign 底層的直接簽署進入點。旗標:--input、--output、--verbose、--certificate、--password、--thumbprint、--timestamp、--identity、--entitlements、--hardened-runtime、--notarize、--keychain-profile、--pgp-key、--pgp-password、--role。

並沒有wails3 signing子命令——鑰匙圈憑證請直接使用xcrun notarytool store-credentials,PGP 金鑰則直接使用gpg(wails3 setup signing精靈會自動執行這兩項操作)。

工具

wails3 tool <subcommand>:

子命令 說明
tool checkport 檢查 TCP 連接埠是否開啟(適合用於等待 Vite)。
tool watcher 每當監看中的檔案變更時執行命令。
tool cp 跨平台複製檔案。
tool buildinfo 輸出二進位檔中嵌入的 Go 建置資訊。
tool package 從build/linux/nfpm建置 Linux 套件(deb、rpm、archlinux)。
tool version 遞增專案的語意化版本。
tool lipo 將多個 macOS 架構的二進位檔合併成通用二進位檔。
tool capabilities 探測系統是否提供 GTK3/GTK4/WebKit。
tool sign (請參閱程式碼簽署與封裝。)

服務

wails3 service <subcommand>:

子命令 說明
service init 建立新的服務套件骨架。

iOS

wails3 ios <subcommand>:

子命令 說明
ios overlay:gen 產生 iOS 橋接相容層的 Go overlay。
ios xcode:gen 在輸出目錄中產生 Xcode 專案。

建置輸出路徑

  • 原生二進位檔會輸出至bin/<APP_NAME>(在 Windows 上則為bin/<APP_NAME>.exe)。不存在build/bin/。
  • 封裝後的輸出(.app、.dmg、NSIS 安裝程式、MSIX、DEB/RPM/AppImage)同樣會輸出至bin/(或由相應 Taskfile 工作建立的各平台專屬子目錄中)。

全域旗標

旗標 適用範圍 說明
--no-colour 所有命令 停用 CLI 輸出中的 ANSI 色彩。

有問題嗎?請在Discord中提問,或查看範例。

編輯頁面

上次更新: