5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-03 17:41:24 +08:00

docs: update and sync all documents (#1183)

* docs: update and sync all documents

* docs: sync readme
This commit is contained in:
Misitebao 2022-02-24 19:08:00 +08:00 committed by GitHub
parent 513c1fd981
commit 9e08fd668c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 274 additions and 28 deletions

View File

@ -81,9 +81,13 @@
### 官方网站 ### 官方网站
#### v1
官方文档可以在 [https://wails.app](https://wails.app) 中找到。 官方文档可以在 [https://wails.app](https://wails.app) 中找到。
如果您对适用于 Windows 的 v2 测试版感兴趣,可以点击[此处](https://wails.io)查看。 #### v2
Wails v2 已针对所有 3 个平台发布了 Beta 版。如果您有兴趣尝试一下,请查看[新网站](https://wails.io)。
镜像网站: 镜像网站:

View File

@ -7,7 +7,9 @@ sidebar_position: 1
This page serves as a list for community supported templates. Please submit a PR (click `Edit this page` at the bottom) This page serves as a list for community supported templates. Please submit a PR (click `Edit this page` at the bottom)
to include your templates. To build your own template, please see the [Templates](/docs/guides/templates) guide. to include your templates. To build your own template, please see the [Templates](/docs/guides/templates) guide.
To use these templates, run `wails init -n "Your Project Name" -t [the link below]` To use these templates, run `wails init -n "Your Project Name" -t [the link below[@version]]`
If there is no version suffix, the main branch code template is used by default. If there is a version suffix, the code template corresponding to the tag of this version is used.
Example: `wails init -n "Your Project Name" -t https://github.com/misitebao/wails-template-vue` Example: `wails init -n "Your Project Name" -t https://github.com/misitebao/wails-template-vue`

View File

@ -16,7 +16,7 @@ sidebar_position: 1
Wails has a number of common dependencies that are required before installation: Wails has a number of common dependencies that are required before installation:
- Go 1.17+ - Go 1.17+
- NPM (Node 14+) - NPM (Node 15+)
### Go ### Go

View File

@ -36,7 +36,7 @@ More information on using IDEs with Wails can be found [here](/docs/guides/ides)
Remote templates (hosted on GitHub) are supported and can be installed by using the template's project URL. Remote templates (hosted on GitHub) are supported and can be installed by using the template's project URL.
Example: Example:
`wails init -n test -t https://github.com/leaanthony/testtemplate` `wails init -n test -t https://github.com/leaanthony/testtemplate[@v1.0.0]`
A list of community maintained templates can be found [here](/docs/community/templates) A list of community maintained templates can be found [here](/docs/community/templates)

View File

@ -119,6 +119,10 @@ const darkCodeTheme = require('prism-react-renderer/themes/palenight');
label: 'About', label: 'About',
to: '/docs/about', to: '/docs/about',
}, },
{
label: 'Getting Started',
to: '/docs/gettingstarted/installation',
},
], ],
}, },
{ {

View File

@ -1,6 +1,6 @@
--- ---
slug: wails-v2-beta-for-windows slug: wails-v2-beta-for-windows
title: 适用于 Windows 平台的 Wails v2 测试版 title: Windows 平台的 Wails v2 测试版
authors: authors:
- name: Lea Anthony - name: Lea Anthony
title: Wails 项目作者 title: Wails 项目作者
@ -29,7 +29,7 @@ Windows 的唯一选择是 IE11 渲染器。许多错误报告都因为受到它
很长一段时间以来,我一直坚信微软最终会解决他们的浏览器问题。世界在不断进步,前端开发正在蓬勃发展,而 IE 并没有做到这一点。当微软宣布将 Chromium 作为其新浏览器方向的基础时, 很长一段时间以来,我一直坚信微软最终会解决他们的浏览器问题。世界在不断进步,前端开发正在蓬勃发展,而 IE 并没有做到这一点。当微软宣布将 Chromium 作为其新浏览器方向的基础时,
我知道 Wails 能够使用它并将 Windows 开发者的体验提升到下一个水平只是时间问题。 我知道 Wails 能够使用它并将 Windows 开发者的体验提升到下一个水平只是时间问题。
今天,我很高兴地宣布:**适用于 Windows 的 Wails v2 公测啦**!此版本中有大量内容需要展开来说,所以,请倒一杯茶,咱们坐下来慢慢讲...... 今天,我很高兴地宣布:**Windows 的 Wails v2 公测啦**!此版本中有大量内容需要展开来说,所以,请倒一杯茶,咱们坐下来慢慢讲......
### 没有 CGO 依赖 ### 没有 CGO 依赖
@ -58,7 +58,7 @@ Windows 的唯一选择是 IE11 渲染器。许多错误报告都因为受到它
然而我真的很高兴地宣布Wails 应用程序*没有这样的要求*!感谢[John Chadwick](https://github.com/jchv)的魔法,我们能够将这个 dll 打包在二进制文件中,并让 Windows 加载它,就像它存在于磁盘上一样。 然而我真的很高兴地宣布Wails 应用程序*没有这样的要求*!感谢[John Chadwick](https://github.com/jchv)的魔法,我们能够将这个 dll 打包在二进制文件中,并让 Windows 加载它,就像它存在于磁盘上一样。
Gophers 欢呼吧!单个二进制文件的想依然存在! Gophers 欢呼吧!单个二进制文件的想依然存在!
### 新功能 ### 新功能
@ -74,7 +74,7 @@ Gophers 欢呼吧!单个二进制文件的设想依然存在!
</div> </div>
<br /> <br />
有很多对原生菜单支持的请求。Wails 终于让您满意了。应用程序菜单现已可用,并且包括对大多数原生菜单功能的支持。这包括标准菜单项、复选框、单选组、子菜单和分隔符。 有很多对原生菜单支持的请求。Wails 终于帮您搞定了。应用程序菜单现已可用,并且包括对大多数原生菜单功能的支持。这包括标准菜单项、复选框、单选组、子菜单和分隔符。
在 v1 中有大量的请求,要求能够更好地控制窗口本身。我很高兴地宣布,有专门用于此的新运行时 API。它功能丰富支持多显示器配置。 在 v1 中有大量的请求,要求能够更好地控制窗口本身。我很高兴地宣布,有专门用于此的新运行时 API。它功能丰富支持多显示器配置。
还有一个改进的对话框 API现在您可以拥有具有丰富配置的现代原生对话框以满足您的所有对话框需求。 还有一个改进的对话框 API现在您可以拥有具有丰富配置的现代原生对话框以满足您的所有对话框需求。
@ -129,7 +129,7 @@ v1 的一个巨大痛点是需要将整个应用程序压缩为单个 JS 和 CSS
除此之外,网络服务器将在端口 34115 上启动。这将为您的应用程序提供连接到它的任何浏览器。所有连接的 Web 浏览器都会响应系统事件,例如资产更改时的热重载。 除此之外,网络服务器将在端口 34115 上启动。这将为您的应用程序提供连接到它的任何浏览器。所有连接的 Web 浏览器都会响应系统事件,例如资产更改时的热重载。
在 Go 中,我们习惯于在应用程序中处理结构。将结构发送到我们的前端并将它们用作我们应用程序中的状态通常很有用。在 v1 中,这是一个非常手动的过程,对开发人员来说有点负担。 在 Go 中,我们习惯于在应用程序中处理结构。将结构发送到我们的前端并将它们用作我们应用程序中的状态通常很有用。在 v1 中,这是一个非常需要手动的过程,对开发人员来说有点负担。
我很高兴地宣布,在 v2 中,任何在开发模式下运行的应用程序都将自动为所有结构生成 Typescript 模型,这些结构是绑定方法的输入或输出参数。这实现了两个世界之间数据模型的无缝交换。 我很高兴地宣布,在 v2 中,任何在开发模式下运行的应用程序都将自动为所有结构生成 Typescript 模型,这些结构是绑定方法的输入或输出参数。这实现了两个世界之间数据模型的无缝交换。
除此之外,还会动态生成另一个 JS 模块来包装您的所有绑定方法。这为您的方法提供了 JSDoc在您的 IDE 中提供代码完成和提示。当您在自动生成的包含 Go 代码的模块中点击 Tab 时自动导入数据模型,这真的很酷! 除此之外,还会动态生成另一个 JS 模块来包装您的所有绑定方法。这为您的方法提供了 JSDoc在您的 IDE 中提供代码完成和提示。当您在自动生成的包含 Go 代码的模块中点击 Tab 时自动导入数据模型,这真的很酷!
@ -148,8 +148,8 @@ v1 的一个巨大痛点是需要将整个应用程序压缩为单个 JS 和 CSS
</div> </div>
<br /> <br />
让应用程序快速启动并运行一直是 Wails 项目的一个关键目标。当我们推出时我们试图涵盖当时的很多现代框架react、vue 和 angular。前端开发的世界非常自以为是,快速发展且难以掌握 让应用程序快速启动并运行一直是 Wails 项目的一个关键目标。当我们推出时我们试图涵盖当时的很多现代框架react、vue 和 angular。前端开发的世界非常固执己见,发展迅速,很难保持领先地位
结果,我们发现我们的基本模板很快就过时了,这导致了维护问题。这也意味着我们没有用于最新和最伟大技术堆栈的酷炫现代模板。 结果,我们发现我们的基本模板很快就过时了,这导致了维护问题。这也意味着,我们没有为最新和最伟大的技术栈提供酷炫的现代模板。
在 v2 中,我希望通过让您能够自己创建和托管模板来增强社区的能力,而不是依赖于 Wails 项目。所以现在您可以使用社区支持的模板创建项目! 在 v2 中,我希望通过让您能够自己创建和托管模板来增强社区的能力,而不是依赖于 Wails 项目。所以现在您可以使用社区支持的模板创建项目!
我希望这将激励开发人员创建一个充满活力的项目模板生态系统。我对我们的开发者社区可以创造的东西感到非常兴奋! 我希望这将激励开发人员创建一个充满活力的项目模板生态系统。我对我们的开发者社区可以创造的东西感到非常兴奋!

View File

@ -1,6 +1,6 @@
--- ---
slug: wails-v2-beta-for-mac slug: wails-v2-beta-for-mac
title: 适用于 Mac 平台的 Wails v2 测试版 title: Mac 平台的 Wails v2 测试版
authors: authors:
- name: Lea Anthony - name: Lea Anthony
title: Wails 项目作者 title: Wails 项目作者
@ -41,7 +41,7 @@ tags: [wails, v2]
</div> </div>
<br /> <br />
有很多对原生菜单支持的需求。Wails 终于让您满意了。应用程序菜单现已可用,并且包括对大多数本原生菜单功能的支持。这包括标准菜单项、复选框、单选组、子菜单和分隔符。 有很多对原生菜单支持的需求。Wails 终于帮您搞定了。应用程序菜单现已可用,并且包括对大多数本原生菜单功能的支持。这包括标准菜单项、复选框、单选组、子菜单和分隔符。
在 v1 中有大量的需求,要求能够更好地控制窗口本身。我很高兴地宣布,有专门用于此的新运行时 API。它功能丰富支持多显示器配置。还有一个改进的对话框 API现在您可以拥有具有丰富配置的现代原生对话框以满足您所有的对话框需求。 在 v1 中有大量的需求,要求能够更好地控制窗口本身。我很高兴地宣布,有专门用于此的新运行时 API。它功能丰富支持多显示器配置。还有一个改进的对话框 API现在您可以拥有具有丰富配置的现代原生对话框以满足您所有的对话框需求。
@ -49,7 +49,7 @@ tags: [wails, v2]
除了普通的应用程序选项Wails v2 for Mac 还带来了一些 Mac 附加功能: 除了普通的应用程序选项Wails v2 for Mac 还带来了一些 Mac 附加功能:
- 让你的窗口变得时髦和半透明,就像所有非常快速的应用程序一样! - 让你的窗口变得时髦和半透明,就像所有 Swift 应用程序一样!
- 高度可定制的标题栏 - 高度可定制的标题栏
- 我们支持应用程序的 NSAppearance 选项 - 我们支持应用程序的 NSAppearance 选项
- 自动创建“关于”菜单的简单配置 - 自动创建“关于”菜单的简单配置
@ -78,7 +78,7 @@ v1 的一个巨大痛点是需要将整个应用程序压缩为单个 JS 和 CSS
除此之外,网络服务器将在端口 34115 上启动。这将为您的应用程序提供连接到它的任何浏览器。所有连接的 Web 浏览器都会响应系统事件,例如资产更改时的热重载。 除此之外,网络服务器将在端口 34115 上启动。这将为您的应用程序提供连接到它的任何浏览器。所有连接的 Web 浏览器都会响应系统事件,例如资产更改时的热重载。
在 Go 中,我们习惯于在应用程序中处理结构。将结构发送到我们的前端并将它们用作我们应用程序中的状态通常很有用。在 v1 中,这是一个非常手动的过程,对开发人员来说有点负担。 在 Go 中,我们习惯于在应用程序中处理结构。将结构发送到我们的前端并将它们用作我们应用程序中的状态通常很有用。在 v1 中,这是一个非常需要手动的过程,对开发人员来说有点负担。
我很高兴地宣布,在 v2 中,任何在开发模式下运行的应用程序都将自动为所有结构生成 Typescript 模型,这些结构是绑定方法的输入或输出参数。这实现了两个世界之间数据模型的无缝交换。 我很高兴地宣布,在 v2 中,任何在开发模式下运行的应用程序都将自动为所有结构生成 Typescript 模型,这些结构是绑定方法的输入或输出参数。这实现了两个世界之间数据模型的无缝交换。
除此之外,还会动态生成另一个 JS 模块来包装您的所有绑定方法。这为您的方法提供了 JSDoc在您的 IDE 中提供代码完成和提示。当您在自动生成的包含 Go 代码的模块中点击 Tab 时自动导入数据模型,这真的很酷! 除此之外,还会动态生成另一个 JS 模块来包装您的所有绑定方法。这为您的方法提供了 JSDoc在您的 IDE 中提供代码完成和提示。当您在自动生成的包含 Go 代码的模块中点击 Tab 时自动导入数据模型,这真的很酷!
@ -97,8 +97,8 @@ v1 的一个巨大痛点是需要将整个应用程序压缩为单个 JS 和 CSS
</div> </div>
<br /> <br />
让应用程序快速启动并运行一直是 Wails 项目的一个关键目标。当我们推出时我们试图涵盖当时的很多现代框架react、vue 和 angular。前端开发的世界非常自以为是,快速发展且难以掌握 让应用程序快速启动并运行一直是 Wails 项目的一个关键目标。当我们推出时我们试图涵盖当时的很多现代框架react、vue 和 angular。前端开发的世界非常固执己见,发展迅速,很难保持领先地位
结果,我们发现我们的基本模板很快就过时了,这导致了维护问题。这也意味着我们没有用于最新和最伟大技术堆栈的酷炫现代模板。 结果,我们发现我们的基本模板很快就过时了,这导致了维护问题。这也意味着,我们没有为最新和最伟大的技术栈提供酷炫的现代模板。
在 v2 中,我希望通过让您能够自己创建和托管模板来增强社区的能力,而不是依赖于 Wails 项目。所以现在您可以使用社区支持的模板创建项目! 在 v2 中,我希望通过让您能够自己创建和托管模板来增强社区的能力,而不是依赖于 Wails 项目。所以现在您可以使用社区支持的模板创建项目!
我希望这将激励开发人员创建一个充满活力的项目模板生态系统。我对我们的开发者社区可以创造的东西感到非常兴奋! 我希望这将激励开发人员创建一个充满活力的项目模板生态系统。我对我们的开发者社区可以创造的东西感到非常兴奋!

View File

@ -0,0 +1,123 @@
---
slug: wails-v2-beta-for-linux
title: Linux 平台的 Wails v2 测试版
authors:
- name: Lea Anthony
title: Wails 项目作者
url: https://github.com/leaanthony
image_url: https://github.com/leaanthony.png
tags: [wails, v2]
---
<div class="text--center">
<img
src="/img/wails-linux.png"
width="40%"
style={{
"box-shadow":
"rgb(255 255 255 / 20%) 0px 4px 8px 0px, rgb(104 104 104) 0px 6px 20px 0px",
}}
/>
</div>
<br />
我很高兴终于宣布Wails v2 现在处于 Linux 测试版中有点讽刺的是v2 的第一次实验是在 Linux 上进行的,但它最终成为了最后一个版本。话虽如此,我们今天拥有的 v2 与最初的实验非常不同。因此,事不宜迟,让我们回顾一下新功能:
### 新功能
<div class="text--center">
<img
src="/img/wails-menus-linux.png"
width="50%"
style={{
"box-shadow":
"rgb(255 255 255 / 20%) 0px 4px 8px 0px, rgb(104 104 104) 0px 6px 20px 0px",
}}
/>
</div>
<br />
有很多对原生菜单支持的需求。Wails 终于帮您搞定了。应用程序菜单现已可用,并且包括对大多数本原生菜单功能的支持。这包括标准菜单项、复选框、单选组、子菜单和分隔符。
在 v1 中有大量的需求,要求能够更好地控制窗口本身。我很高兴地宣布,有专门用于此的新运行时 API。它功能丰富支持多显示器配置。还有一个改进的对话框 API现在您可以拥有具有丰富配置的现代原生对话框以满足您所有的对话框需求。
### 无需打包资源
v1 的一个巨大痛点是需要将整个应用程序压缩为单个 JS 和 CSS 文件。我很高兴地宣布,对于 v2不需要以任何形式打包资源。
想要加载本地图片?使用带有本地`src`路径的`<img>`标签。想使用很酷的字体吗?复制它并在你的 CSS 中添加它的路径。
> 哇,这听起来像一个网络服务器......
是的,它就像一个网络服务器一样工作,但它不是。
> 那么我如何包含我的资源?
您只需将`embed.FS`包含所有资产的单个文件传递到您的应用程序配置中。他们甚至不需要在顶级目录中——Wails 会为你解决这个问题。
### 全新的开发体验
现在不需要打包资源,它启用了全新的开发体验。新`wails dev`命令将构建并运行您的应用程序,但它不使用`embed.FS`中的资源,而是直接从磁盘加载它们。
它还提供了附加功能:
- 热重载 - 对前端资产的任何更改都将触发并自动重载应用程序前端
- 自动重新构建 - 对 Go 代码的任何更改都将重新构建并重新启动您的应用程序
除此之外,网络服务器将在端口 34115 上启动。这将为您的应用程序提供连接到它的任何浏览器。所有连接的 Web 浏览器都会响应系统事件,例如资产更改时的热重载。
在 Go 中,我们习惯于在应用程序中处理结构。将结构发送到我们的前端并将它们用作我们应用程序中的状态通常很有用。在 v1 中,这是一个非常需要手动的过程,对开发人员来说有点负担。
我很高兴地宣布,在 v2 中,任何在开发模式下运行的应用程序都将自动为所有结构生成 Typescript 模型,这些结构是绑定方法的输入或输出参数。这实现了两个世界之间数据模型的无缝交换。
除此之外,还会动态生成另一个 JS 模块来包装您的所有绑定方法。这为您的方法提供了 JSDoc在您的 IDE 中提供代码完成和提示。当您在自动生成的包含 Go 代码的模块中点击 Tab 时自动导入数据模型,这真的很酷!
### 远程模板
<div class="text--center">
<img
src="/img/remote-linux.png"
width="80%"
style={{
"box-shadow":
"rgb(255 255 255 / 20%) 0px 4px 8px 0px, rgb(104 104 104) 0px 6px 20px 0px",
}}
/>
</div>
<br />
让应用程序快速启动并运行一直是 Wails 项目的一个关键目标。当我们推出时我们试图涵盖当时的很多现代框架react、vue 和 angular。前端开发的世界非常固执己见发展迅速很难保持领先地位
结果,我们发现我们的基本模板很快就过时了,这导致了维护问题。这也意味着,我们没有为最新和最伟大的技术栈提供酷炫的现代模板。
在 v2 中,我希望通过让您能够自己创建和托管模板来增强社区的能力,而不是依赖于 Wails 项目。所以现在您可以使用社区支持的模板创建项目!
我希望这将激励开发人员创建一个充满活力的项目模板生态系统。我对我们的开发者社区可以创造的东西感到非常兴奋!
### 交叉编译到 Windows
因为适用于 Windows 的 Wails v2 是纯 Go所以您可以在没有 docker 的情况下针对 Windows 构建。
<div class="text--center">
<img
src="/img/linux-build-cross-windows.png"
width="80%"
style={{
"box-shadow":
"rgb(255 255 255 / 20%) 0px 4px 8px 0px, rgb(104 104 104) 0px 6px 20px 0px",
}}
/>
</div>
<br />
### 结语
正如我在 Windows 发行说明中所说Wails v2 代表了该项目的新起点。此版本的目的是获得有关新方式的反馈,并在完整版本发布之前解决所有错误。非常欢迎您的意见!请将任何反馈发送到[v2 测试版](https://github.com/wailsapp/wails/discussions/828)讨论板。
Linux**很难**支持。我们预计测试版会有一些小毛病。请通过提交详细的错误报告来帮助我们帮助您!
最后,我还要特别感谢所有[项目赞助商](/docs/credits#sponsors),他们的幕后支持以多种方式推动了该项目。
我期待看到在项目的下一个激动人心的阶段人们用 Wails 构建什么!
Lea.
PS: 距离 v2 正式版发布不远了!
PPS如果您或您的公司发现 Wails 有用,可以考虑[赞助该项目](https://github.com/sponsors/leaanthony)。谢谢!

View File

@ -6,9 +6,11 @@ sidebar_position: 1
此页面用作社区支持的模板列表。请提交一个包含您的模板的 PR点击页面底部的`编辑此页`)。要构建您自己的模板,请参考[模板](/docs/guides/templates)指南。 此页面用作社区支持的模板列表。请提交一个包含您的模板的 PR点击页面底部的`编辑此页`)。要构建您自己的模板,请参考[模板](/docs/guides/templates)指南。
要使用这些模板,请运行 `wails init -n "您的项目名" -t [下面的链接]` 要使用这些模板,请运行 `wails init -n "您的项目名" -t [下面的链接[@版本]]`
示例:`wails init -n "Your Project Name" -t https://github.com/misitebao/wails-template-vue` 如果不带版本后缀,默认使用的是主分支代码模板,如果带有版本后缀,则使用该版本对应标签的代码模板。
示例:`wails init -n "Your Project Name" -t https://github.com/misitebao/wails-template-vue@v2.0.0-beta.3`
:::warning 注意 :::warning 注意

View File

@ -9,14 +9,14 @@ sidebar_position: 1
- Windows 10 AMD64/ARM64 - Windows 10 AMD64/ARM64
- MacOS 10.13+ AMD64 - MacOS 10.13+ AMD64
- MacOS 11.0+ ARM64 - MacOS 11.0+ ARM64
- Linux (暂定时间 1 月 22 日) - Linux AMD64/ARM64
## 依赖 ## 依赖
Wails 有许多安装前需要的常见依赖项: Wails 有许多安装前需要的常见依赖项:
- Go 1.17+ - Go 1.17+
- NPM (Node 14+) - NPM (Node 15+)
### Go ### Go
@ -62,7 +62,14 @@ import TabItem from "@theme/TabItem";
<br /> <br />
<code>xcode-select --install</code> <code>xcode-select --install</code>
</TabItem> </TabItem>
<TabItem value="Linux">即将推出...</TabItem> <TabItem value="Linux">
Linux 需要标准的<code>gcc</code>构建工具以及 <code>libgtk3</code>和
<code>libwebkit</code>。与其为不同的发行版列出大量命令Wails
可以尝试确定针对您的特定发行版的安装命令。安装后运行
<code>wails doctor</code>
以显示如何安装依赖项。如果不支持您的发行版/包管理器,请参阅
<a href="/docs/guides/linux-distro-support">添加Linux发行版</a>指南。
</TabItem>
</Tabs> </Tabs>
## 可选依赖 ## 可选依赖

View File

@ -0,0 +1,100 @@
# Linux 发行版支持
## 概述
Wails 提供 Linux 支持但为所有可用发行版提供安装说明是一项不可能完成的任务。相反Wails 会尝试确定您开发应用程序所需的包是否可以通过系统的包管理器获得。目前,我们支持以下包管理器:
- apt
- dnf
- emerge
- eopkg
- pacman
- zypper
## 添加包名
在某些情况下,您的发行版使用受支持的包管理器之一,但包名称不同。例如,您可能使用 Ubuntu 衍生产品,但 gtk 的包名称可能不同。Wails 尝试通过遍历包名称列表来找到正确的包。包列表存储在`v2/internal/system/packagemanager` 目录中的包管理器特定文件中。在我们的示例中,将是`v2/internal/system/packagemanager/apt.go`。
在此文件中,包列表由以下`Packages()`方法定义:
```go
func (a *Apt) Packages() packagemap {
return packagemap{
"libgtk-3": []*Package{
{Name: "libgtk-3-dev", SystemPackage: true, Library: true},
},
"libwebkit": []*Package{
{Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
},
"gcc": []*Package{
{Name: "build-essential", SystemPackage: true},
},
"pkg-config": []*Package{
{Name: "pkg-config", SystemPackage: true},
},
"npm": []*Package{
{Name: "npm", SystemPackage: true},
},
"docker": []*Package{
{Name: "docker.io", SystemPackage: true, Optional: true},
},
}
}
```
假设在我们的 linux 发行版中libgtk-3 以 lib-gtk3-dev 的名称打包。我们可以通过添加以下行来添加对此的支持:
```go {5}
func (a *Apt) Packages() packagemap {
return packagemap{
"libgtk-3": []*Package{
{Name: "libgtk-3-dev", SystemPackage: true, Library: true},
{Name: "lib-gtk3-dev", SystemPackage: true, Library: true},
},
"libwebkit": []*Package{
{Name: "libwebkit2gtk-4.0-dev", SystemPackage: true, Library: true},
},
"gcc": []*Package{
{Name: "build-essential", SystemPackage: true},
},
"pkg-config": []*Package{
{Name: "pkg-config", SystemPackage: true},
},
"npm": []*Package{
{Name: "npm", SystemPackage: true},
},
"docker": []*Package{
{Name: "docker.io", SystemPackage: true, Optional: true},
},
}
}
```
## 添加新的包管理器
要添加新的包管理器,请执行以下步骤:
- 在`v2/internal/system/packagemanager`中创建一个名为`<pm>.go`的新文件,其中`<pm>`是包管理器的名称。
- 定义一个符合`pm.go`中定义的包管理器接口的结构体。
```go
type PackageManager interface {
Name() string
Packages() packagemap
PackageInstalled(*Package) (bool, error)
PackageAvailable(*Package) (bool, error)
InstallCommand(*Package) string
}
```
- `Name()` 应该返回包管理器的名称
- `Packages()` 应该返回一个`packagemap`,它为依赖项提供候选文件名
- `PackageInstalled()` 如果安装了指定的包,应该返回`true`
- `PackageAvailable()` 如果指定的软件包未安装但可以安装,则应返回`true`
- `InstallCommand()` 应该返回确切的命令来安装指定的包名
查看其他包管理器代码以了解其工作原理。
:::info 记住
如果您添加了对新包管理器的支持,请不要忘记更新此页面!
:::

View File

@ -1,9 +1,9 @@
--- ---
title: 它如何工作 title: 它如何工作的?
sidebar_position: 20 sidebar_position: 20
--- ---
# 它如何工作? # 它如何工作
Wails 应用程序是一个带有一个 webkit 前端的标准的 Go 应用程序。 应用程序的 Go 部分由应用程序代码和一个运行时库组成, Wails 应用程序是一个带有一个 webkit 前端的标准的 Go 应用程序。 应用程序的 Go 部分由应用程序代码和一个运行时库组成,
该库提供了许多有用的操作,例如控制应用程序窗口。 前端是一个 webkit 窗口,将显示前端资源。 前端还可以使用运行时库的 Javascript 版本。 该库提供了许多有用的操作,例如控制应用程序窗口。 前端是一个 webkit 窗口,将显示前端资源。 前端还可以使用运行时库的 Javascript 版本。

View File

@ -35,7 +35,7 @@ Wails CLI 有许多用于管理项目的命令。所有命令都以此方式运
支持远程模板(托管在 GitHub 上)并且可以使用模板项目的 URL 进行安装。 支持远程模板(托管在 GitHub 上)并且可以使用模板项目的 URL 进行安装。
示例: `wails init -n test -t https://github.com/leaanthony/testtemplate` 示例: `wails init -n test -t https://github.com/leaanthony/testtemplate[@v1.0.0]`
可以在[此处](/docs/community/templates)找到社区维护的模板列表 可以在[此处](/docs/community/templates)找到社区维护的模板列表

View File

@ -12,15 +12,15 @@ sidebar_position: 5
"assetdir": "[资源目录的相对路径]", "assetdir": "[资源目录的相对路径]",
"reloaddirs": "[触发重新加载的附加目录(逗号分隔),这仅用于一些重要资源配置]", "reloaddirs": "[触发重新加载的附加目录(逗号分隔),这仅用于一些重要资源配置]",
"frontend:install": "[安装 node 依赖的命令,在 frontend 目录下运行 - 通常是 `npm install`]", "frontend:install": "[安装 node 依赖的命令,在 frontend 目录下运行 - 通常是 `npm install`]",
"frontend:dev": "[此命令在“Wails dev”上的单独进程中运行。适用于第三方观察者]",
"frontend:build": "[构建资源的命令在frontend目录下运行 - 通常是 `npm run build`]", "frontend:build": "[构建资源的命令在frontend目录下运行 - 通常是 `npm run build`]",
"frontend:dev": "[此命令等效于开发模式中的 frontend:build如果没有指定则只有 frontend:build]",
"frontend:dev:watcher": "[此命令在 `wails dev` 上的单独进程中运行。对第 3 方观察者有用]",
"wailsjsdir": "[自动生成的JS模块将被创建的目录的相对路径]", "wailsjsdir": "[自动生成的JS模块将被创建的目录的相对路径]",
"version": "[项目配置版本]", "version": "[项目配置版本]",
"outputfilename": "[二进制文件的名称]", "outputfilename": "[二进制文件的名称]",
"debounceMS": 100, // 在检测到资源更改时,开发服务器等待重新加载的时间 "debounceMS": 100, // 在检测到资源更改时,开发服务器等待重新加载的时间
"devserverurl": "[用于服务本地资源的开发服务器URL。默认http://localhost:34115]", "devserverurl": "[用于服务本地资源的开发服务器URL。默认http://localhost:34115]",
"appargs": "[在dev模式下以shell样式传递给应用程序的参数]" "appargs": "[在dev模式下以shell样式传递给应用程序的参数]"
} }
``` ```

View File

@ -15,6 +15,10 @@
"message": "关于", "message": "关于",
"description": "The label of footer link with label=About linking to /docs/about" "description": "The label of footer link with label=About linking to /docs/about"
}, },
"link.item.label.Getting Started": {
"message": "快速入门",
"description": "The label of footer link with label=Getting Started linking to /docs/gettingstarted/installation"
},
"link.item.label.Github": { "link.item.label.Github": {
"message": "Github", "message": "Github",
"description": "The label of footer link with label=Github linking to https://github.com/wailsapp/wails" "description": "The label of footer link with label=Github linking to https://github.com/wailsapp/wails"