likes
comments
collection
share

【六】Tauri 应用篇 - tauri.conf.json 配置

作者站长头像
站长
· 阅读数 20

tauri.conf.json 是由 tauri init 命令生成的文件,该文件位于 Tauri 应用程序源目录 src-tauri 中。可以通过修改它来自定义 Tauri 应用程序。此文仅列举部分常用字段,更多请查看 Tauri Configuration

特定平台

除了 tauri.conf.json 外,Tauri 还可以从 tauri.linux.conf.jsontauri.windows.conf.jsontauri.macos.conf.json 中读取特定于平台的配置,并将其与 tauri.conf.json 主配置合并。

配置结构

示例配置:

{
  "build": {
    "beforeBuildCommand": "",
    "beforeDevCommand": "",
    "devPath": "../dist",
    "distDir": "../dist"
  },
  "package": {
    "productName": "tauri-app",
    "version": "0.1.0"
  },
  "tauri": {
    "allowlist": {
      "all": true
    },
    "bundle": {},
    "security": {
      "csp": null
    },
    "updater": {
      "active": false
    },
    "windows": [
      {
        "fullscreen": false,
        "height": 600,
        "resizable": true,
        "title": "Tauri App",
        "width": 800
      }
    ]
  }
}

tauri.conf.json 由以下部分组成:

  1. package:Package 设置
  2. tauri:Tauri 配置
  3. build:构建配置
  4. plugins:插件配置

package

名称类型默认值描述
productNamestring?nullAPP 名称
versionstring?null版本号,它是 semver 版本号或包含 version 字段的 package.json 文件的路径

tauri

名称类型默认值描述
patternPatternKind要使用的模式
windows[WindowConfig][]窗口配置
cliCliConfig?命令行界面配置
bundleBundleConfig捆绑器配置
allowlistAllowlistConfig白名单配置,如系统文件,路径,剪贴板,脚本,进程等
securitySecurityConfig安全配置
updaterUpdaterConfig更新应用配置,如签名公钥,更新应用的窗口配置等
systemTraySystemTrayConfig?应用系统托盘的配置,如图标配置
macOSPrivateApibooleanfalseMacOS 私有 API 配置。启用透明后台 API 并将首选项 fullScreenEnabled 设置为 true

PatternKind

tauri -> pattern

应用程序模式,可以是以下任何一种类型:

  • brownfield - 棕地模式,这是使用 Tauri 最简单直接的模式,因为它试图尽可能与现有的前端项目兼容。简而言之,它试图除了现有Web前端可能在浏览器中使用的内容之外,不需要任何其他内容。
  • isolation - 隔离模式是一种在前端发送到 Tauri Core 之前拦截和修改 Tauri API 消息的方法,所有这些都是使用 JavaScript 进行的。由隔离模式注入的安全 JavaScript 代码称为隔离应用程序。出于安全目的,建议使用此模式。
{
  "tauri": {
    "pattern": {
      "use": "brownfield"
    }
  }
}
{
  "tauri": {
    "pattern": {
      "use": "isolation",
      "options": {
        "dir": "../dist-isolation"
      }
    }
  }
}

WindowConfig

tauri -> windows[]

名称类型默认值描述
labelstringnull窗口标识符,它必须是字母数字
urlWindowUrl窗口 Web 视图 URL
fileDropEnabledbooleantrue是否在 Web 视图上启用文件拖拽
centerbooleanfalse窗口是否以居中方式启动
xnumber?(format: double)null窗口左上角的水平位置
ynumber?(format: double)null窗口左上角的垂直位置
widthnumber?(format: double)null窗口宽度
heightnumber?(format: double)null窗口高度
minWidthnumber?(format: double)null窗口最小宽度
minHeightnumber?(format: double)null窗口最小高度
maxWidthnumber?(format: double)null窗口最大宽度
maxHeightnumber?(format: double)null窗口最大高度
resizablebooleantrue窗口是否可调整大小
titlestringnull窗口标题
fullscreenbooleanfalse窗口是否以全屏方式启动
focusbooleantrue窗口是否聚焦
transparentbooleanfalse窗口是否透明,注意:mac 需要启用 macOSPrivateApi(警告:使用私有 API 会阻止应用程序被接受)
maximizedbooleanfalse窗口是否最大化
visiblebooleantrue窗口是否可见
decorationsbooleantrue窗口是否具有边框和标题栏
alwaysOnTopbooleanfalse窗口是否应始终位于其他窗口上层
skipTaskbarbooleanfalse是否将窗口图标添加到任务栏
themeTheme?初始窗口主题,默认为系统主题。仅在 Windows 和 macOS 10.14+ 上实现

WindowUrl

tauri -> windows[] -> url

要在Tauri Web 视图窗口中打开的 URL,可以是以下任何一种类型:

  • 格式 uri - 外部 URL
  • 应用程序 URL 的路径部分 - 例如:tauri://localhost/users/lencx 的部分路径 users/lencx

Theme

tauri -> windows[] -> theme

系统主题,可以是以下任一值:

  • Light
  • Dark

仓库地址:lencx/OhMyBox 首发于 GitHub Discussions 关注《浮之静》公众号,私信作者,进 Tauri 技术交流群