【Tauri2】008——简单说说配置文件

前言

配置文件,即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
      ]
    
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值