mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-03 00:22:57 +08:00
docs: update and sync all documents (#1183)
* docs: update and sync all documents * docs: sync readme
This commit is contained in:
parent
513c1fd981
commit
9e08fd668c
@ -81,9 +81,13 @@
|
||||
|
||||
### 官方网站
|
||||
|
||||
#### v1
|
||||
|
||||
官方文档可以在 [https://wails.app](https://wails.app) 中找到。
|
||||
|
||||
如果您对适用于 Windows 的 v2 测试版感兴趣,可以点击[此处](https://wails.io)查看。
|
||||
#### v2
|
||||
|
||||
Wails v2 已针对所有 3 个平台发布了 Beta 版。如果您有兴趣尝试一下,请查看[新网站](https://wails.io)。
|
||||
|
||||
镜像网站:
|
||||
|
||||
|
@ -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)
|
||||
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`
|
||||
|
||||
|
@ -16,7 +16,7 @@ sidebar_position: 1
|
||||
Wails has a number of common dependencies that are required before installation:
|
||||
|
||||
- Go 1.17+
|
||||
- NPM (Node 14+)
|
||||
- NPM (Node 15+)
|
||||
|
||||
### Go
|
||||
|
||||
|
@ -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.
|
||||
|
||||
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)
|
||||
|
||||
|
@ -119,6 +119,10 @@ const darkCodeTheme = require('prism-react-renderer/themes/palenight');
|
||||
label: 'About',
|
||||
to: '/docs/about',
|
||||
},
|
||||
{
|
||||
label: 'Getting Started',
|
||||
to: '/docs/gettingstarted/installation',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
slug: wails-v2-beta-for-windows
|
||||
title: 适用于 Windows 平台的 Wails v2 测试版
|
||||
title: Windows 平台的 Wails v2 测试版
|
||||
authors:
|
||||
- name: Lea Anthony
|
||||
title: Wails 项目作者
|
||||
@ -29,7 +29,7 @@ Windows 的唯一选择是 IE11 渲染器。许多错误报告都因为受到它
|
||||
很长一段时间以来,我一直坚信微软最终会解决他们的浏览器问题。世界在不断进步,前端开发正在蓬勃发展,而 IE 并没有做到这一点。当微软宣布将 Chromium 作为其新浏览器方向的基础时,
|
||||
我知道 Wails 能够使用它并将 Windows 开发者的体验提升到下一个水平只是时间问题。
|
||||
|
||||
今天,我很高兴地宣布:**适用于 Windows 的 Wails v2 公测啦**!此版本中有大量内容需要展开来说,所以,请倒一杯茶,咱们坐下来慢慢讲......
|
||||
今天,我很高兴地宣布:**Windows 的 Wails v2 公测啦**!此版本中有大量内容需要展开来说,所以,请倒一杯茶,咱们坐下来慢慢讲......
|
||||
|
||||
### 没有 CGO 依赖
|
||||
|
||||
@ -58,7 +58,7 @@ Windows 的唯一选择是 IE11 渲染器。许多错误报告都因为受到它
|
||||
|
||||
然而,我真的很高兴地宣布,Wails 应用程序*没有这样的要求*!感谢[John Chadwick](https://github.com/jchv)的魔法,我们能够将这个 dll 打包在二进制文件中,并让 Windows 加载它,就像它存在于磁盘上一样。
|
||||
|
||||
Gophers 欢呼吧!单个二进制文件的设想依然存在!
|
||||
Gophers 欢呼吧!单个二进制文件的构想依然存在!
|
||||
|
||||
### 新功能
|
||||
|
||||
@ -74,7 +74,7 @@ Gophers 欢呼吧!单个二进制文件的设想依然存在!
|
||||
</div>
|
||||
<br />
|
||||
|
||||
有很多对原生菜单支持的请求。Wails 终于让您满意了。应用程序菜单现已可用,并且包括对大多数原生菜单功能的支持。这包括标准菜单项、复选框、单选组、子菜单和分隔符。
|
||||
有很多对原生菜单支持的请求。Wails 终于帮您搞定了。应用程序菜单现已可用,并且包括对大多数原生菜单功能的支持。这包括标准菜单项、复选框、单选组、子菜单和分隔符。
|
||||
|
||||
在 v1 中有大量的请求,要求能够更好地控制窗口本身。我很高兴地宣布,有专门用于此的新运行时 API。它功能丰富,支持多显示器配置。
|
||||
还有一个改进的对话框 API:现在,您可以拥有具有丰富配置的现代原生对话框,以满足您的所有对话框需求。
|
||||
@ -129,7 +129,7 @@ v1 的一个巨大痛点是需要将整个应用程序压缩为单个 JS 和 CSS
|
||||
|
||||
除此之外,网络服务器将在端口 34115 上启动。这将为您的应用程序提供连接到它的任何浏览器。所有连接的 Web 浏览器都会响应系统事件,例如资产更改时的热重载。
|
||||
|
||||
在 Go 中,我们习惯于在应用程序中处理结构。将结构发送到我们的前端并将它们用作我们应用程序中的状态通常很有用。在 v1 中,这是一个非常手动的过程,对开发人员来说有点负担。
|
||||
在 Go 中,我们习惯于在应用程序中处理结构。将结构发送到我们的前端并将它们用作我们应用程序中的状态通常很有用。在 v1 中,这是一个非常需要手动的过程,对开发人员来说有点负担。
|
||||
我很高兴地宣布,在 v2 中,任何在开发模式下运行的应用程序都将自动为所有结构生成 Typescript 模型,这些结构是绑定方法的输入或输出参数。这实现了两个世界之间数据模型的无缝交换。
|
||||
|
||||
除此之外,还会动态生成另一个 JS 模块来包装您的所有绑定方法。这为您的方法提供了 JSDoc,在您的 IDE 中提供代码完成和提示。当您在自动生成的包含 Go 代码的模块中点击 Tab 时自动导入数据模型,这真的很酷!
|
||||
@ -148,8 +148,8 @@ v1 的一个巨大痛点是需要将整个应用程序压缩为单个 JS 和 CSS
|
||||
</div>
|
||||
<br />
|
||||
|
||||
让应用程序快速启动并运行一直是 Wails 项目的一个关键目标。当我们推出时,我们试图涵盖当时的很多现代框架:react、vue 和 angular。前端开发的世界非常自以为是,快速发展且难以掌握!
|
||||
结果,我们发现我们的基本模板很快就过时了,这导致了维护问题。这也意味着我们没有用于最新和最伟大技术堆栈的酷炫现代模板。
|
||||
让应用程序快速启动并运行一直是 Wails 项目的一个关键目标。当我们推出时,我们试图涵盖当时的很多现代框架:react、vue 和 angular。前端开发的世界非常固执己见,发展迅速,很难保持领先地位!
|
||||
结果,我们发现我们的基本模板很快就过时了,这导致了维护问题。这也意味着,我们没有为最新和最伟大的技术栈提供酷炫的现代模板。
|
||||
|
||||
在 v2 中,我希望通过让您能够自己创建和托管模板来增强社区的能力,而不是依赖于 Wails 项目。所以现在您可以使用社区支持的模板创建项目!
|
||||
我希望这将激励开发人员创建一个充满活力的项目模板生态系统。我对我们的开发者社区可以创造的东西感到非常兴奋!
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
slug: wails-v2-beta-for-mac
|
||||
title: 适用于 Mac 平台的 Wails v2 测试版
|
||||
title: Mac 平台的 Wails v2 测试版
|
||||
authors:
|
||||
- name: Lea Anthony
|
||||
title: Wails 项目作者
|
||||
@ -41,7 +41,7 @@ tags: [wails, v2]
|
||||
</div>
|
||||
<br />
|
||||
|
||||
有很多对原生菜单支持的需求。Wails 终于让您满意了。应用程序菜单现已可用,并且包括对大多数本原生菜单功能的支持。这包括标准菜单项、复选框、单选组、子菜单和分隔符。
|
||||
有很多对原生菜单支持的需求。Wails 终于帮您搞定了。应用程序菜单现已可用,并且包括对大多数本原生菜单功能的支持。这包括标准菜单项、复选框、单选组、子菜单和分隔符。
|
||||
|
||||
在 v1 中有大量的需求,要求能够更好地控制窗口本身。我很高兴地宣布,有专门用于此的新运行时 API。它功能丰富,支持多显示器配置。还有一个改进的对话框 API:现在,您可以拥有具有丰富配置的现代原生对话框,以满足您所有的对话框需求。
|
||||
|
||||
@ -49,7 +49,7 @@ tags: [wails, v2]
|
||||
|
||||
除了普通的应用程序选项,Wails v2 for Mac 还带来了一些 Mac 附加功能:
|
||||
|
||||
- 让你的窗口变得时髦和半透明,就像所有非常快速的应用程序一样!
|
||||
- 让你的窗口变得时髦和半透明,就像所有 Swift 应用程序一样!
|
||||
- 高度可定制的标题栏
|
||||
- 我们支持应用程序的 NSAppearance 选项
|
||||
- 自动创建“关于”菜单的简单配置
|
||||
@ -78,7 +78,7 @@ v1 的一个巨大痛点是需要将整个应用程序压缩为单个 JS 和 CSS
|
||||
|
||||
除此之外,网络服务器将在端口 34115 上启动。这将为您的应用程序提供连接到它的任何浏览器。所有连接的 Web 浏览器都会响应系统事件,例如资产更改时的热重载。
|
||||
|
||||
在 Go 中,我们习惯于在应用程序中处理结构。将结构发送到我们的前端并将它们用作我们应用程序中的状态通常很有用。在 v1 中,这是一个非常手动的过程,对开发人员来说有点负担。
|
||||
在 Go 中,我们习惯于在应用程序中处理结构。将结构发送到我们的前端并将它们用作我们应用程序中的状态通常很有用。在 v1 中,这是一个非常需要手动的过程,对开发人员来说有点负担。
|
||||
我很高兴地宣布,在 v2 中,任何在开发模式下运行的应用程序都将自动为所有结构生成 Typescript 模型,这些结构是绑定方法的输入或输出参数。这实现了两个世界之间数据模型的无缝交换。
|
||||
|
||||
除此之外,还会动态生成另一个 JS 模块来包装您的所有绑定方法。这为您的方法提供了 JSDoc,在您的 IDE 中提供代码完成和提示。当您在自动生成的包含 Go 代码的模块中点击 Tab 时自动导入数据模型,这真的很酷!
|
||||
@ -97,8 +97,8 @@ v1 的一个巨大痛点是需要将整个应用程序压缩为单个 JS 和 CSS
|
||||
</div>
|
||||
<br />
|
||||
|
||||
让应用程序快速启动并运行一直是 Wails 项目的一个关键目标。当我们推出时,我们试图涵盖当时的很多现代框架:react、vue 和 angular。前端开发的世界非常自以为是,快速发展且难以掌握!
|
||||
结果,我们发现我们的基本模板很快就过时了,这导致了维护问题。这也意味着我们没有用于最新和最伟大技术堆栈的酷炫现代模板。
|
||||
让应用程序快速启动并运行一直是 Wails 项目的一个关键目标。当我们推出时,我们试图涵盖当时的很多现代框架:react、vue 和 angular。前端开发的世界非常固执己见,发展迅速,很难保持领先地位!
|
||||
结果,我们发现我们的基本模板很快就过时了,这导致了维护问题。这也意味着,我们没有为最新和最伟大的技术栈提供酷炫的现代模板。
|
||||
|
||||
在 v2 中,我希望通过让您能够自己创建和托管模板来增强社区的能力,而不是依赖于 Wails 项目。所以现在您可以使用社区支持的模板创建项目!
|
||||
我希望这将激励开发人员创建一个充满活力的项目模板生态系统。我对我们的开发者社区可以创造的东西感到非常兴奋!
|
||||
|
@ -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)。谢谢!
|
@ -6,9 +6,11 @@ sidebar_position: 1
|
||||
|
||||
此页面用作社区支持的模板列表。请提交一个包含您的模板的 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 注意
|
||||
|
||||
|
@ -9,14 +9,14 @@ sidebar_position: 1
|
||||
- Windows 10 AMD64/ARM64
|
||||
- MacOS 10.13+ AMD64
|
||||
- MacOS 11.0+ ARM64
|
||||
- Linux (暂定时间 1 月 22 日)
|
||||
- Linux AMD64/ARM64
|
||||
|
||||
## 依赖
|
||||
|
||||
Wails 有许多安装前需要的常见依赖项:
|
||||
|
||||
- Go 1.17+
|
||||
- NPM (Node 14+)
|
||||
- NPM (Node 15+)
|
||||
|
||||
### Go
|
||||
|
||||
@ -62,7 +62,14 @@ import TabItem from "@theme/TabItem";
|
||||
<br />
|
||||
<code>xcode-select --install</code>
|
||||
</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>
|
||||
|
||||
## 可选依赖
|
||||
|
@ -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 记住
|
||||
如果您添加了对新包管理器的支持,请不要忘记更新此页面!
|
||||
:::
|
@ -1,9 +1,9 @@
|
||||
---
|
||||
title: 它如何工作
|
||||
title: 它是如何工作的?
|
||||
sidebar_position: 20
|
||||
---
|
||||
|
||||
# 它如何工作?
|
||||
# 它是如何工作的?
|
||||
|
||||
Wails 应用程序是一个带有一个 webkit 前端的标准的 Go 应用程序。 应用程序的 Go 部分由应用程序代码和一个运行时库组成,
|
||||
该库提供了许多有用的操作,例如控制应用程序窗口。 前端是一个 webkit 窗口,将显示前端资源。 前端还可以使用运行时库的 Javascript 版本。
|
||||
|
@ -35,7 +35,7 @@ Wails CLI 有许多用于管理项目的命令。所有命令都以此方式运
|
||||
|
||||
支持远程模板(托管在 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)找到社区维护的模板列表
|
||||
|
||||
|
@ -11,16 +11,16 @@ sidebar_position: 5
|
||||
"name": "[项目名称]",
|
||||
"assetdir": "[资源目录的相对路径]",
|
||||
"reloaddirs": "[触发重新加载的附加目录(逗号分隔),这仅用于一些重要资源配置]",
|
||||
"frontend:install": "[安装node依赖的命令,在frontend目录下运行 - 通常是 `npm install`]",
|
||||
"frontend:dev": "[此命令在“Wails dev”上的单独进程中运行。适用于第三方观察者]",
|
||||
"frontend:install": "[安装 node 依赖的命令,在 frontend 目录下运行 - 通常是 `npm install`]",
|
||||
"frontend:build": "[构建资源的命令,在frontend目录下运行 - 通常是 `npm run build`]",
|
||||
"frontend:dev": "[此命令等效于开发模式中的 frontend:build,如果没有指定则只有 frontend:build]",
|
||||
"frontend:dev:watcher": "[此命令在 `wails dev` 上的单独进程中运行。对第 3 方观察者有用]",
|
||||
"wailsjsdir": "[自动生成的JS模块将被创建的目录的相对路径]",
|
||||
"version": "[项目配置版本]",
|
||||
"outputfilename": "[二进制文件的名称]",
|
||||
"debounceMS": 100, // 在检测到资源更改时,开发服务器等待重新加载的时间
|
||||
"devserverurl": "[用于服务本地资源的开发服务器URL。默认:http://localhost:34115]",
|
||||
"appargs": "[在dev模式下以shell样式传递给应用程序的参数]"
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -15,6 +15,10 @@
|
||||
"message": "关于",
|
||||
"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": {
|
||||
"message": "Github",
|
||||
"description": "The label of footer link with label=Github linking to https://github.com/wailsapp/wails"
|
||||
|
Loading…
Reference in New Issue
Block a user