3、Wails命令

Wails 命令行

Wails CLI 有许多用于管理项目的命令。 所有命令都以此方式运行:

wails <命令> <标志>

init

wails init 用于生成项目。

标志 描述 默认
-n "项目名称" 项目名称。 强制必填
-d "项目目录" 要创建的项目目录 项目名
-g 初始化 git 存储库
-l 可用项目模板列表
-q 禁止输出到控制台
-t "模板名称" 要使用的项目模板。 这可能是默认模板的名称或托管在 github 上的远程模板的 URL 。 vanilla
-ide 生成集成开发环境项目文件 vscodegoland
-f 强制构建应用 false

示例:wails init -n test -d mytestproject -g -ide vscode -q,这将在 mytestproject 目录生成一个名为 test 的项目,初始化 git,生成 vscode 项目文件并静默执行。

远程模板

支持远程模板(托管在 GitHub )并且可以使用模板项目的 URL 进行安装。

示例: wails init -n test -t https://github.com/leaanthony/testtemplate[@v1.0.0]

可以在此处找到社区维护的模板列表:https://wails.io/zh-Hans/docs/community/templates

build

wails build 用于将您的项目编译为生产可用的二进制文件。

标志 描述 默认
-clean 清理 build/bin 目录
-compiler "编译器" 使用不同的 go 编译器来构建,例如 go1.15beta1 go
-debug 允许在应用程序窗口中使用 devtools。
-devtools 允许在生产应用程序窗口中使用 devtools(不使用 -debug 时)。可使用 Ctrl/Cmd+Shift+F12 打开 devtools 窗口。注意:此选项将使您的应用程序违反 Mac appstore 指南。仅用于调试。
-dryrun 打印构建命令但不执行它
-f 强制构建应用
-garbleargs 传递给 garble 的参数 -literals -tiny -seed=random
-ldflags "标志" 传递给编译器的额外 ldflags
-m 编译前跳过 mod tidy
-nopackage 不打包应用程序
-nocolour 在输出中禁用颜色
-nosyncgomod 不同步 go.mod 中的 Wails 版本
-nsis 为 Windows 生成 NSIS 安装程序
-o 文件名 输出文件名
-obfuscated 使用garble混淆应用程序
-platform 为指定的平台构建,例如: windows/arm64windows/arm64。 注意,如果不给出架构,则使用 runtime.GOARCH 如果给定环境变量 platform = GOOS 否则等于 runtime.GOOS。 如果给定环境变量 arch = GOARCH 否则等于 runtime.GOARCH.
-race 使用 Go 的竞态检测器构建
-s 跳过前端构建
-skipbindings 跳过 bindings 生成
-tags "额外标签" 构建标签以传递给 Go 编译器。 必须引用。 空格或逗号(但不能同时使用)分隔
-trimpath 从生成的可执行文件中删除所有文件系统路径。
-u 更新项目的 go.mod 以使用与 CLI 相同版本的 Wails
-upx 使用 “upx” 压缩最终二进制文件
-upxflags 传递给 upx 的标志
-v int 详细级别 (0 - silent, 1 - default, 2 - verbose) 1
-webview2 WebView2 安装策略:download,embed,browser,error. download
-windowsconsole 保留Windows构建控制台窗口

示例:wails build -clean -o myproject.exe

目前支持的平台有:

平台 描述
darwin MacOS + architecture of build machine
darwin/amd64 MacOS 10.13+ AMD64
darwin/arm64 MacOS 11.0+ ARM64
darwin/universal MacOS AMD64+ARM64 universal application
windows Windows 10/11 + architecture of build machine
windows/amd64 Windows 10/11 AMD64
windows/arm64 Windows 10/11 ARM64
linux Linux + architecture of build machine
linux/amd64 Linux AMD64
linux/arm64 Linux ARM64

doctor

wails doctor 将运行诊断程序以确保您的系统已准备好进行开发。

dev

wails dev 用于以 "实时开发" 模式运行您的应用。 这意味着:

标志 描述 默认
-appargs "参数" 以 shell 样式传递给应用程序的参数
-assetdir "./path/to/assets" 从给定目录提供资产,而不是使用提供的资产 FS wails.json 中的值
-browser 在启动时打开浏览器到 http://localhost:34115
-compiler "编译器" 使用不同的 go 编译器来构建,例如 go1.15beta1 go
-debounce 检测到资产更改后等待重新加载的时间 100 (毫秒)
-devserver "host:port" 将 wails 开发服务器绑定到的地址 localhost:34115
-extensions 触发重新构建的扩展(逗号分隔) go
-forcebuild 强制构建应用程序
-frontenddevserverurl "url" 使用 3rd 方开发服务器 url 提供资产,例如:Vite ""
-ldflags "标志" 传递给编译器的额外 ldflags
-loglevel "日志级别" 要使用的日志级别 - Trace, Debug, Info, Warning, Error Debug(调试)
-nocolour 关闭彩色命令行输出 false
-noreload 资产更改时禁用自动重新加载
-nosyncgomod 不同步 go.mod 中的 Wails 版本 false
-race 使用 Go 的竞态检测器构建 false
-reloaddirs 触发重新加载的附加目录(逗号分隔) wails.json 中的值
-s 跳过前端构建 false
-save 将指定的 assetdirreloaddirswailsjsdirdebouncedevserverfrontenddevserverurl 标志的值保存到 wails.json 以成为后续调用的默认值。
-skipbindings 跳过 bindings 生成
-tags "额外标签" 传递给编译器的构建标签(引号和空格分隔)
-v 详细级别 (0 - silent, 1 - standard, 2 - verbose) 1
-wailsjsdir 生成生成的Wails JS模块的目录 wails.json 中的值

示例:wails dev -assetdir ./frontend/dist -wailsjsdir ./frontend/src -browser

此命令将执行以下操作:

generate

template

Wails 使用模板来生成项目。 wails generate template 命令有助于构建模板,以使它可以用于生成项目。

标志 描述
-name 模板名称(必填)
-frontend "路径" 要在模板中使用的前端项目的路径

module

wails generate module 命令允许您为应用程序手动生成 wailsjs 目录。

标志 描述 默认
-compiler "编译器" 使用不同的 go 编译器来构建,例如 go1.15beta1 go
-tags "额外标签" 传递给编译器的构建标签(引号和空格分隔)

update

wails update 将更新 Wails CLI 的版本。

标志 描述
-pre 更新到最新的预发布版本
-version "版本" 安装指定版本的 CLI

version

wails version 仅输出当前的 CLI 版本。