前言
配置文件,即tauri.conf.json
Configuration Files | Taurihttps://tauri.app/zh-cn/develop/configuration-files/这个文件的作用
该文件由 Tauri 运行时和 Tauri CLI 使用。你可以定义构建设置(例如在 tauri build 或 tauri dev 启动前运行的命令),设置应用程序的名称和版本,控制 Tauri 运行时,以及配置插件。——tauri2 官方文档
写一写配置文件,方便查询
正文
在官网,所有的配置的参数如下
Configuration | Taurihttps://v2.tauri.app/reference/config/#_top实际上也可以通过cargo expand查看,打印的东西太多,有配置。
json文件,主要是键值对构成,或者说name/value,或者说属性。
一个大括号表示一个对象
JSON Syntaxhttps://www.w3schools.com/js/js_json_syntax.asp从官网在可以知道,除了默认是tauri.conf.json,或者使用json5叫tauri.conf.json5
还可以使用toml文件,取的名字叫Tauri.toml
在配置文件中主要的属性和对象
1、app
use tauri::utils::config::AppConfig
apphttps://v2.tauri.app/zh-cn/reference/config/#appconfig
{
// ====================== 基础配置 ======================
// 是否启用 GTK 的应用 ID(仅适用于 Linux 系统)
"enableGTKAppId": false,
// 是否允许使用 macOS 的私有 API
"macOSPrivateApi": false,
// ====================== 安全配置 ======================
"security": {
// 资源协议配置(控制前端资源加载方式)
"assetProtocol": {
// 是否启用自定义资源协议(如 asset://)
"enable": false,
// 允许加载的资源路径白名单(当 enable=true 时生效)
"scope": []
},
// 应用能力列表(定义应用可访问的系统权限)
"capabilities": [],
// 是否禁用自动修改 Content Security Policy (CSP)
"dangerousDisableAssetCspModification": false,
// 是否冻结 JavaScript 内置对象的原型链
"freezePrototype": false,
// 前端与 Rust 后端的交互模式
"pattern": {
// 安全模式类型:
// - "brownfield": 宽松模式(允许自由调用 Rust 命令,需手动管理安全性)
// - "isolated": 隔离模式(严格限制通信,推荐新项目使用)
// - "custom": 自定义模式
"use": "brownfield"
}
},
// ====================== 窗口配置 ======================
"windows": [],
// ====================== 全局 API 配置 ======================
// 是否在全局作用域(window.__TAURI__)暴露 Tauri API
"withGlobalTauri": false
}
窗口配置windows
use tauri::utils::config::WindowConfig;
windowshttps://v2.tauri.app/zh-cn/reference/config/#windowconfig
{
"windows": [
{
// ====================== 基础配置 ======================
// 窗口唯一标识符(必填)
"label": "main",
// 窗口标题(默认值:Tauri App)
"title": "My App",
// 窗口初始 URL(支持 http/https/本地文件路径)
"url": "https://example.com",
// 窗口初始宽度(单位:像素,默认:800)
"width": 1024,
// 窗口初始高度(单位:像素,默认:600)
"height": 768,
// ====================== 窗口行为 ======================
// 是否允许窗口全屏(默认:false)
"fullscreen": false,
// 是否允许窗口最大化(默认:true)
"maximizable": true,
// 是否允许窗口最小化(默认:true)
"minimizable": true,
// 是否允许窗口关闭(默认:true)
"closable": true,
// 是否允许调整窗口大小(默认:true)
"resizable": true,
// 窗口是否始终置顶(默认:false)
"alwaysOnTop": false,
// 窗口是否始终置底(默认:false)
"alwaysOnBottom": false,
// 窗口是否在启动时居中(默认:false)
"center": true,
// 窗口是否默认显示(默认:true)
"visible": true,
// ====================== 视觉样式 ======================
// 窗口背景颜色(CSS 颜色值,如 "#RRGGBBAA")
"backgroundColor": "#FFFFFF",
// 是否启用窗口装饰(标题栏/边框,默认:true)
"decorations": true,
// 标题栏样式(仅 macOS):
// - "Visible": 显示标准标题栏
// - "Transparent": 透明标题栏
// - "Overlay": 沉浸式标题栏
"titleBarStyle": "Visible",
// 是否启用窗口透明(允许创建不规则形状窗口)
"transparent": false,
// 是否启用窗口阴影(默认:true)
"shadow": true,
// ====================== 高级功能 ======================
// 是否启用开发者工具(默认:false)
"devtools": false,
// 自定义用户代理字符串
"userAgent": "Mozilla/5.0 (...)",
// 是否启用无痕模式(禁用缓存等,默认:false)
"incognito": false,
// 是否在任务栏显示窗口图标(默认:true)
"skipTaskbar": false,
// 是否在所有工作区显示窗口(多桌面环境,默认:false)
"visibleOnAllWorkspaces": false,
// 是否接受第一个鼠标事件(macOS 特有)
"acceptFirstMouse": true,
// 窗口父级(用于创建模态窗口)
"parent": null,
// 窗口最小宽度(单位:像素)
"minWidth": 400,
// 窗口最小高度(单位:像素)
"minHeight": 300,
// 窗口最大宽度(单位:像素)
"maxWidth": 1920,
// 窗口最大高度(单位:像素)
"maxHeight": 1080,
// ====================== 实验性功能 ======================
// 浏览器扩展支持(默认:false)
"browserExtensionsEnabled": false,
// 是否启用拖放功能(默认:true)
"dragDropEnabled": true,
// 是否启用 HTTPS 协议(强制安全连接)
"useHttpsScheme": true,
// 是否隐藏标题(仅内容,macOS 特有)
"hiddenTitle": false,
// 是否启用内容保护(防止截图/录屏)
"contentProtected": false,
// 是否限制窗口在后台时的资源占用(默认:true)
"backgroundThrottling": true,
// 窗口特效配置
"windowEffects": {
"effects": ["dark"],
"color": "#FFFFFF80"
},
// 自定义窗口类名(用于 CSS/系统识别)
"windowClassname": "my-custom-class",
// 标签页分组标识符(macOS 特有)
"tabbingIdentifier": "group1",
// 是否启用缩放快捷键(Cmd/Ctrl + +/-)
"zoomHotkeysEnabled": true,
// 初始窗口位置(单位:像素)
"x": 100,
"y": 50,
// 自定义浏览器启动参数
"additionalBrowserArgs": "--disable-web-security"
}
]
}
可能会有错,以官网为准。
2、build
buildhttps://v2.tauri.app/zh-cn/reference/config/#buildconfig
{
"build": {
// ====================== 构建流程控制 ======================
// 开发模式启动前执行的命令(如启动前端服务器)
"beforeDevCommand": "npm run dev",
// 生产构建前执行的命令(如编译前端代码)
"beforeBuildCommand": "npm run build",
// 生成安装包前执行的命令(如处理图标/资源)
"beforeBundleCommand": "node scripts/prepare-installer.js",
// ====================== 开发环境配置 ======================
// 开发服务器URL(支持IP/域名,需与前端服务器端口一致)
"devUrl": "http://localhost:5173",
// 自定义前端构建输出目录(相对src-tauri的路径)
"frontendDist": "../build",
// ====================== Rust编译控制 ======================
// 传递给cargo的--features参数(启用条件编译特性)
"features": "",
// 自定义应用启动命令(覆盖默认的cargo run)
// 示例:"cargo run --release --features production"
"runner": "cargo"
}
}
3、bundle
bundlehttps://v2.tauri.app/zh-cn/reference/config/#bundleconfig
{
"bundle": {
// ====================== 基础配置 ======================
// 是否激活打包功能(默认 true)
"active": true,
// ====================== 目标平台配置 ======================
// 指定打包目标(空数组=当前平台所有格式)
"targets": ["app", "dmg", "msi", "appimage", "deb"],
// ====================== 平台专属配置 ======================
// Windows 配置
"windows": {
// 是否创建 Wix MSI 安装包(默认 true)
"wix": {
"enabled": true,
// 自定义 .wxs 模板路径
"template": "resources/wix.xml"
},
// 是否创建 NSIS 安装包(默认 false)
"nsis": {
"enabled": false
},
// 是否启用 Windows 10+ 的 AppX 包(默认 false)
"appx": {
"enabled": false
}
},
// macOS 配置
"macOS": {
// 最小系统版本要求(默认 10.13)
"minimumSystemVersion": "11.0",
// 是否生成 .dmg 磁盘映像(默认 true)
"dmg": true,
// 是否生成 .app 包(默认 true)
"app": true,
// 是否启用签名(必需 Mac App Store)
"signingIdentity": "Developer ID Application: Name (TeamID)"
},
// Linux 配置
"linux": {
// 是否生成 AppImage(默认 true)
"appImage": true,
// 是否生成 .deb 包(默认 true)
"deb": true,
// 是否生成 .rpm 包(默认 false)
"rpm": false,
// 是否包含桌面图标(默认 true)
"desktop": true
},
// ====================== 资源控制 ======================
// 外部二进制文件(需预编译对应平台版本)
"externalBin": ["/path/to/bin"],
// 文件关联配置(所有平台)
"fileAssociations": [
{
"ext": "myapp",
"name": "MyApp File",
"mimeType": "application/x-myapp",
"icon": "icons/document.icns" // 平台特定图标
}
],
// ====================== 高级配置 ======================
// 是否使用本地工具目录(避免全局安装)
"useLocalToolsDir": false,
// 是否生成更新包(需配合 updater 配置)
"createUpdaterArtifacts": true,
// 资源文件(打包时包含)
"resources": ["data/*.json", "assets/**/*"],
// 应用图标配置(覆盖 package.icon)
"icon": [
"icons/icon.icns", // macOS
"icons/icon.ico", // Windows
"icons/512x512.png" // Linux
]
}
}