巫溪县城乡建设委员会网站qq刷赞网站推广全网
前言
配置文件,即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]}
}