3个版本
0.1.2 | 2024年6月23日 |
---|---|
0.1.1 | 2024年6月23日 |
0.1.0 | 2024年6月22日 |
461 在 HTTP服务器
每月96 次下载
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