菜单

配置

相关源文件

此页面介绍了 ChatGPT 桌面应用程序的配置系统,涵盖了控制应用程序行为、依赖项和构建过程的配置文件。该配置系统连接了基于 Tauri 的原生后端和 React 前端。

配置概述

ChatGPT 桌面应用程序采用多层配置方法,涵盖了几个关键文件。

来源: src-tauri/tauri.conf.json src-tauri/Cargo.toml package.json tsconfig.json

Tauri 配置

控制原生应用程序外壳的主要配置文件是 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 依赖项配置

Rust 后端依赖项在 Cargo.toml 中定义,指定了 Tauri 框架版本和后端使用的其他库。

关键依赖项

后端使用了几个重要的依赖项组。

  1. Tauri Core

  2. Tauri 插件

  3. 实用工具库

  4. 异步运行时

来源: src-tauri/Cargo.toml1-29

前端配置

前端配置分为 NPM 依赖和 TypeScript 配置。

NPM 依赖项

生产依赖项

开发依赖项

构建脚本

来源: package.json1-38

TypeScript 配置

tsconfig.json 中的 TypeScript 配置定义了编译器选项和路径别名。

路径别名

TypeScript 配置的一个关键特性是路径别名系统。

这些别名允许开发者使用诸如 import Component from '~components/Component' 这样的快捷方式,而不是相对路径,从而使导入更简洁、更易于维护。

来源: tsconfig.json1-36

构建流程配置流

下图展示了配置文件在构建过程中如何交互。

构建流程

  1. 运行 pnpm tauri dev

    • Tauri CLI 读取 tauri.conf.json
    • 执行 beforeDevCommand (pnpm dev)
    • Vite 在 devUrl 启动开发服务器
    • Tauri 创建并配置应用程序窗口。
  2. 运行 pnpm tauri build

    • Tauri CLI 读取 tauri.conf.json
    • 执行 beforeBuildCommand (pnpm build)
    • TypeScript 对代码进行类型检查。
    • Vite 构建并打包 React 应用程序。
    • Cargo 构建 Rust 后端。
    • Tauri 将所有内容打包成一个原生应用程序。

来源: src-tauri/tauri.conf.json5-10 package.json6-10

配置文件依赖表

配置文件主要目的依赖系统
tauri.conf.json应用程序元数据和构建设置Tauri CLI,应用程序窗口行为
Cargo.tomlRust 后端依赖项Rust 编译器,后端功能
package.json前端依赖项和构建脚本NPM/PNPM,Vite,React
tsconfig.jsonTypeScript 编译器设置TypeScript 编译器,导入路径

总结

ChatGPT 桌面应用程序使用一个全面的配置系统,其中包含多个协同工作的文件。

  1. tauri.conf.json 控制应用程序标识、构建过程和原生打包。
  2. Cargo.toml 管理 Tauri 后端的 Rust 依赖项。
  3. package.json 定义前端依赖项和构建脚本。
  4. tsconfig.json 配置 TypeScript 编译和路径别名。

这些配置文件创造了无缝的开发体验,并生成了一个利用 Tauri 功能封装基于 Web 的 ChatGPT 界面的原生应用程序。