此页面介绍了 ChatGPT 桌面应用程序的配置系统,涵盖了控制应用程序行为、依赖项和构建过程的配置文件。该配置系统连接了基于 Tauri 的原生后端和 React 前端。
ChatGPT 桌面应用程序采用多层配置方法,涵盖了几个关键文件。
来源: src-tauri/tauri.conf.json src-tauri/Cargo.toml package.json tsconfig.json
控制原生应用程序外壳的主要配置文件是 tauri.conf.json。此文件定义了 Tauri 如何桥接 Web 前端和原生功能。
这定义了应用程序名称、版本(从 package.json 引用)以及用于安装和系统集成的唯一应用程序标识符。
这些设置控制开发服务器 URL 和在开发/生产构建之前执行的命令。
请注意,windows 数组是空的,因为窗口是通过 Rust 代码以编程方式创建的,而不是在配置中声明式创建。
此部分定义了不同平台和分辨率的打包选项和应用程序图标。
来源: src-tauri/tauri.conf.json1-29 src-tauri/Cargo.toml package.json tsconfig.json
Rust 后端依赖项在 Cargo.toml 中定义,指定了 Tauri 框架版本和后端使用的其他库。
后端使用了几个重要的依赖项组。
Tauri Core
Tauri 插件
实用工具库
异步运行时
前端配置分为 NPM 依赖和 TypeScript 配置。
来源: package.json1-38
tsconfig.json 中的 TypeScript 配置定义了编译器选项和路径别名。
TypeScript 配置的一个关键特性是路径别名系统。
这些别名允许开发者使用诸如 import Component from '~components/Component' 这样的快捷方式,而不是相对路径,从而使导入更简洁、更易于维护。
下图展示了配置文件在构建过程中如何交互。
运行 pnpm tauri dev 时
tauri.conf.jsonbeforeDevCommand (pnpm dev)devUrl 启动开发服务器运行 pnpm tauri build 时
tauri.conf.jsonbeforeBuildCommand (pnpm build)来源: src-tauri/tauri.conf.json5-10 package.json6-10
| 配置文件 | 主要目的 | 依赖系统 |
|---|---|---|
| tauri.conf.json | 应用程序元数据和构建设置 | Tauri CLI,应用程序窗口行为 |
| Cargo.toml | Rust 后端依赖项 | Rust 编译器,后端功能 |
| package.json | 前端依赖项和构建脚本 | NPM/PNPM,Vite,React |
| tsconfig.json | TypeScript 编译器设置 | TypeScript 编译器,导入路径 |
ChatGPT 桌面应用程序使用一个全面的配置系统,其中包含多个协同工作的文件。
这些配置文件创造了无缝的开发体验,并生成了一个利用 Tauri 功能封装基于 Web 的 ChatGPT 界面的原生应用程序。