构建文档

💡Tips:构建产物路径
平台构建产物路径
Windows[项目根目录]/packages/desktop/src-tauri/target/release/bundle/msi/xxx.msi
Windows[项目根目录]/packages/desktop/src-tauri/target/release/bundle/nsis/xxx.exe
macOS[项目根目录]/packages/desktop/src-tauri/target/release/bundle/dmg/
macOS安装如果提示包已损坏,则在终端中输入sudo xattr -r -d com.apple.quarantine [安装包路径],接着输入密码回车就能重新打开。

图标修改

官方图标生成工具:
执行完上述操作之后,会在该目录下生成一个output目录,其中目录结构如下:
复制下面几个文件接着粘贴至[项目根目录]/packages/desktop/src-tauri/icons目录下替换掉默认图标
icon.ico
icon.icnsWindows不需
icon_32x32.png
icon_128x128.png
icon_128x128@2x.png
修改完成后需重新构建才能生效:

修改窗口标题、应用包名

如果你想修改桌面应用窗口标题(以及应用包名):
1.
修改src-tauri/tauri.conf.json
{ "productName": "Chatbuddy AI", "app": { "windows": [ { "title": "Chatbuddy AI", }, ], },
}
修改productName可以更改系统与安装器里显示的应用名称。
修改app.windows[0].title可以更改窗口标题栏中显示的标题。
修改完成后需重新构建才能生效:

打包线上部署地址

如果想让桌面应用打开一个线上网站(比如https://你的项目线上部署地址):
1.
修改src-tauri/tauri.conf.json
{ "build": { "devUrl": "http://localhost:4090", "frontendDist": "https://你的项目线上部署地址", "beforeDevCommand": "pnpm run prepare", "beforeBuildCommand": "pnpm run prepare", },
}
2.
执行:
此时frontendDist是 URL,prepare-frontend.js跳过修改,直接使用远程地址。

打包本地静态资源

如果想把前端构建产物一起打包进桌面应用:
1.
配置src-tauri/tauri.conf.json中的frontendDist为本地目录路径,比如:
{ "build": { "devUrl": "http://localhost:4090", "frontendDist": "../../../public/web", "beforeDevCommand": "pnpm run prepare", "beforeBuildCommand": "pnpm run prepare", },
}
2.
执行:
此时frontendDist是本地目录,prepare-frontend.js会自动在public/webpublic
之间选择,并写回配置。

项目配置(tauri.conf.json

桌面应用的核心配置在src-tauri/tauri.conf.json中,主要字段介绍如下:
$schema:Tauri 配置的 schema 地址,用于 IDE 校验和自动补全。
productName:应用产品名称,安装器和系统中显示的名称。
version:应用版本号字符串。
identifier:应用唯一标识(类似 bundle id),如chatbuddy-ai.desktop
build.devUrl:开发模式加载的地址(通常是本地 dev server)。
build.frontendDist
配置为远程 URL 时,桌面应用会直接打开线上网站;
配置为本地目录时,会把静态资源打包到应用中。
build.beforeDevCommand:启动开发调试前执行的命令(比如前端预处理)。
build.beforeBuildCommand:构建桌面安装包前执行的命令。
app.windows:窗口配置列表:
title:窗口标题。
width/height:初始窗口宽高。
minWidth/minHeight:窗口最小尺寸限制。
devtools:开发环境是否允许打开 DevTools。
center:启动时是否居中显示窗口。
app.security.csp:Content Security Policy,null表示使用 Tauri 默认策略。
bundle.active:是否启用打包(生成安装包)。
bundle.targets:打包目标平台(比如all表示所有支持的平台)。
bundle.icon:不同平台和分辨率使用的图标文件列表。
根据需调整这些字段后,执行pnpm build:desktop重新构建桌面应用。

319 篇文档 · 内容同步自官方帮助中心