#graphql #web-apps #htmx #web-framework #handlebars #dynamic #cli

app hxql

使用HTMX、GraphQL和Handlebars轻松构建动态应用程序

3个版本

0.1.2 2024年6月23日
0.1.1 2024年6月23日
0.1.0 2024年6月22日

461HTTP服务器

Download history 259/week @ 2024-06-17 81/week @ 2024-06-24 96/week @ 2024-07-29

每月96 次下载

MIT 协议

22KB
418

hxql

使用此命令行界面启动和运行动态Web应用程序。以htmx为中心,与GraphQL配合使用,并使用rust构建 - hxql是一个可以用来启动、运行和与hxql应用程序交互的命令行界面。

目前此应用程序处于早期规划阶段。例如,查看入门仓库 - https://github.com/The-Devoyage/hxql-starter

hxql宣言

hxql是一个Web框架和设计模式实现。它围绕GraphQL和Htmx构建,这对不太可能的组合可以共同创造一个令人愉快的简单和灵活的动态开发体验。

Htmx通常与静态或服务器端渲染的应用程序相关联,这些应用程序提供预渲染的HTML内容。另一方面,围绕GraphQL的应用程序通常接收序列化的数据,如JSON,这些数据在客户端注入到“模板”或组件中。

因此,结合这两种技术成为一种反模式。交付预渲染的内容与客户端模板变量注入的需求相矛盾。

hxql将现代和熟悉的技术结合起来,基于这种“反模式”创建无缝的开发体验。

hxql功能

  • HTML优先
    • 使用Web的本地标记语言编写。
  • 递归目录路由
    • 路由就像创建一个包含index.html的文件夹一样简单。
  • 组件化开发
    • 提供HTML组件,并动态地将它们注入DOM(例如使用HTMX)。
  • 服务器端渲染模板
    • Handblebars启用,并实现即时数据访问。
    • 无需客户端获取数据。编写一个GraphQL查询,提供变量,数据就会立即可用于模板。
  • 实体驱动API
    • 面向公众、类型安全和逻辑API。围绕它提供的服务实体构建,而不是它所激活的HTML。

入门

安装

cargo安装hxql

初始化

hxql init--名称<APP_NAME>

创建一个包含可运行Web应用程序的目录。

运行

hxql start<选项>

API

  • init - 将hxql入门项目克隆到自定义命名的文件夹中,并创建基础子图配置。
    • --name - 为您的 hxql 应用指定一个名称。
  • start - 读取 hxql.toml 文件,并使用 docker(subgraph)启动 Web 服务器。
    • --port - 指定服务器运行的端口。
    • --host - 将端口绑定到所有网络接口。
    • --graphql - 指向为 hxql 应用提供激活功能的 GraphQL 服务器。
    • --enable-hydrate - 切换激活设置。默认开启。

依赖项

~14–25MB
~401K SLoC