跳到正文

项目结构

TypeScript 项目把应用代码放在 app.tsx 里,开发命令放在 package.json 里。

#生成的文件

my-app/
├── resources/
│   └── icon.png
├── app.tsx
├── quickgui.config.ts
├── tsconfig.json
├── package.json
└── README.md

把可复用组件放在普通的 TypeScript 模块中。构建输出位于 .quickgui;打包后的应用位于 dist。

#应用入口

从 @quickgui/native 导入 app 和 Window。从 @quickgui/solid 导入组件和 createRenderer。打开窗口前请先等待 app.whenReady()。每个窗口有自己的渲染器,窗口关闭时会被释放。

#配置

import { defineConfig } from "@quickgui/cli";

export default defineConfig({
  language: "typescript",
  name: "My App",
  identifier: "com.example.my-app",
  entry: "app.tsx",
  fonts: ["assets/MyFont.ttf"],
});

应用图标来自 resources/icon.png。额外文件可以列在 resources 中。见应用图标和打包资源。TOML 支持相同的键。在 tsconfig.json 中,把 jsx 设为 "preserve",把 jsxImportSource 设为 "@quickgui/solid"。

#软件包

应用依赖 @quickgui/native、@quickgui/solid 和 solid-js。@quickgui/cli 是开发依赖。终端和更新器是可选包,见自动更新和编写扩展。

#本地开发

quickgui check
quickgui test
quickgui fmt
quickgui dev
quickgui build

check 对项目做类型检查。test 使用与构建相同的编译器运行测试。