5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-02 10:21:20 +08:00
wails/website/i18n/zh-Hans/docusaurus-plugin-content-docs/version-v2.0.0-beta.34/reference/cli.mdx
Misitebao 78c6705cc3
feat(website): improve website content (#1309)
Update Chinese translation
2022-04-04 20:05:54 +10:00

215 lines
14 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 命令行
sidebar_position: 2
---
# 命令行
Wails CLI 有许多用于管理项目的命令。所有命令都以此方式运行:
`wails <命令> <标志>`
## 初始化
`wails init` 用于生成项目。
| 标志 | 描述 | 默认 |
| :------------ | :---------------------------------------------------------------------------- | :-----: |
| -n "项目名称" | 项目名称。 **强制必填** | |
| -d "项目目录" | 要创建的项目目录 | 项目名 |
| -g | 初始化 git 存储库 | |
| -l | 可用项目模板列表 | |
| -q | 禁止输出到控制台 | |
| -t "模板名称" | 要使用的项目模板。这可能是默认模板的名称或在 github 上托管的远程模板的 URL 。 | vanilla |
| -ide | 生成 IDE 项目文件 | |
| -f | 强制构建应用 | 否 |
示例:
`wails init -n test -d mytestproject -g -ide vscode -q`
这将在 "mytestproject" 目录生成一个名为 "test" 的项目,初始化 git生成 vscode 项目文件并静默执行。
可以在[此处](../guides/ides)找到有关在 Wails 中使用 IDE 的更多信息。
### 远程模板
支持远程模板(托管在 GitHub 上)并且可以使用模板项目的 URL 进行安装。
示例: `wails init -n test -t https://github.com/leaanthony/testtemplate[@v1.0.0]`
可以在[此处](../community/templates)找到社区维护的模板列表
:::warning 注意
**Wails 项目不维护也不对第 3 方模板负责**
如果您不信任某个模板,请检查 `package.json` 和 `wails.json` 中安装的模块和运行的脚本。
:::
## 构建
`wails build`用于将您的项目编译为生产可用的二进制文件。
| 标志 | 描述 | 默认 |
| :----------------- | :----------------------------------------------------------------------------------------------------------------------------- | :-------------------------- |
| -platform | 为指定的[平台](../reference/cli#平台)(逗号分割)构建,例如:`windows/arm64`。注意,如果没有指定架构,则使用`runtime.GOARCH`。 | runtime.GOOS/runtime.GOARCH |
| -clean | 清理`build/bin`目录 | |
| -compiler "编译器" | 使用不同的 go 编译器来构建,例如 go1.15beta1 | go |
| -ldflags "标志" | 传递给编译器的额外 ldflags | |
| -nopackage | 不打包应用程序 | |
| -o filename | 输出文件名 | |
| -s | 跳过前端构建 | |
| -f | 强制构建应用 | 否 |
| -tags "额外标签" | 传递给编译器构建标签(引号和空格分隔) | |
| -upx | 使用“upx”压缩最终二进制文件 | |
| -upxflags | 传递给 upx 的标志 | |
| -v int | 详细级别 (0 - silent, 1 - default, 2 - verbose) | 1 |
| -webview2 | WebView2 安装程序策略download,embed,browser,error. | download |
| -u | 更新项目的 `go.mod` 以使用与 CLI 相同版本的 Wails | |
| -debug | 在应用程序中保留调试信息 | 否 |
有关`webview2`标志的详细描述,请参阅[Windows 系统](../guides/windows)指南。
如果您更喜欢使用标准 Go 工具进行构建,请参阅[手动构建](../guides/manual-builds)指南。
示例:
`wails build -clean -o myproject.exe`
:::info 苹果芯片上的 UPX
在苹果芯片上使用 UPX 相关的[问题](https://github.com/upx/upx/issues/446)。
:::
:::info Windows 上的 UPX
一些防病毒软件供应商误将`upx`压缩的二进制文件标记为病毒,请查看相关[问题](https://github.com/upx/upx/issues/437)。
:::
### 平台
支持的平台有:
| 平台 | 描述 |
| :--------------- | :-------------------------------------------- |
| 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 |
## 诊断检查
`wails doctor` 将运行诊断程序以确保您的系统已准备好进行开发。
示例:
```
Wails CLI v2.0.0-beta
Scanning system - Please wait (this may take a long time)...Done.
System
------
OS: Windows 10 Pro
Version: 2009 (Build: 19043)
ID: 21H1
Go Version: go1.17
Platform: windows
Architecture: amd64
Dependency Package Name Status Version
---------- ------------ ------ -------
WebView2 N/A Installed 93.0.961.52
npm N/A Installed 6.14.15
*upx N/A Installed upx 3.96
*docker N/A Installed 20.10.6
* - Optional Dependency
Diagnosis
---------
Your system is ready for Wails development!
```
## 开发
`wails dev` 用于以 "实时开发" 模式运行您的应用。这意味着:
- 应用程序的`go.mod`将被更新为与 Wails CLI 版本相同的版本
- 应用程序被编译并自动运行
- 一个观察者被启动,如果它检测到您的 go 文件的变化,它将触发您的开发应用程序的重新构建
- 启动一个网络服务器`http://localhost:34115`,通过 http 为您的应用程序(不仅仅是前端)提供服务。这允许您使用您喜欢的浏览器开发扩展
- 所有应用程序资源都从磁盘加载。如果它们被更改,应用程序将自动重新加载(而不是重新构建)。所有连接的浏览器也将重新加载
- 生成的 JS 模块提供以下内容:
- 带有自动生成的 JSDoc 的 Go 方法的 Javascript 包装器,提供代码提示
- 您的 Go 结构体的 TypeScript 版本,可以构造并传递给您的 Go 方法
- 生成第二个 JS 模块,为运行时提供包装器 + TS 声明
| 标志 | 描述 | 默认 |
| :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ | :----------------------- |
| -assetdir "./path/to/assets" | 编译资源的路径 | `wails.json`中的值 |
| -browser | 在启动时打开浏览器到`http://localhost:34115` | |
| -compiler "编译器" | 使用不同的 go 编译器来构建,例如 go1.15beta1 | go |
| -e | 触发重新构建的扩展(逗号分隔) | go |
| -reloaddirs | 触发重新加载的附加目录(逗号分隔) | `wails.json`中的值 |
| -ldflags "标志" | 传递给编译器的额外 ldflags | |
| -tags "额外标签" | 构建标签以传递给编译器(引号和空格分隔) | |
| -loglevel "日志级别" | 要使用的日志级别 - Trace, Debug, Info, Warning, Error | Debug |
| -noreload | 资源更改时禁用自动重新加载 | |
| -v | 详细级别 (0 - silent, 1 - standard, 2 - verbose) | 1 |
| -wailsjsdir | 生成生成的 Wails JS 模块的目录 | `wails.json`中的值 |
| -debounce | 检测到资源更改后等待重新加载的时间 | 100 (毫秒) |
| -devserverurl "url" | 使用第 3 方开发服务器 url, 例如 Vite | "http://localhost:34115" |
| -appargs "args" | 以 shell 样式传递给应用程序的参数 | |
| -platform "platform" | 目标平台/架构 | `runtime.GOOS` |
| -save | 将指定的 `assetdir`、 `reloaddirs`、 `wailsjsdir`、 `debounce` 和 `devserverurl` 标志的值保存到 `wails.json` 以成为后续调用的默认值。 | |
示例:
`wails dev -assetdir ./frontend/dist -wailsjsdir ./frontend/src -browser`
此命令将执行以下操作:
- 构建应用程序并运行它(更多细节在[这里](../guides/manual-builds)
- 在`./frontend/src`中生成 Wails JS 模块
- 监听`./frontend/dist`中文件的更新并在更改时重新加载
- 打开浏览器并连接到应用程序
[此处](../guides/application-development)提供了有关将此功能与现有框架脚本一起使用的更多信息。
## 生成
### 模板
Wails 使用模板来生成项目。`wails generate template`命令有助于构建模板,以使它可以用于生成项目。
| 标志 | 描述 |
| :--------------- | :----------------------------- |
| -name | 模板名称(必填) |
| -frontend "路径" | 要在模板中使用的前端项目的路径 |
有关创建模板的更多详细信息,请参阅[模板指南](../guides/templates)。
## 更新
`wails update` 将更新 Wails CLI 的版本。
| 标志 | 描述 |
| :-------------- | :--------------------- |
| -pre | 更新到最新的预发布版本 |
| -version "版本" | 安装指定版本的 CLI |
## 版本
`wails version` 仅输出当前的 CLI 版本。