有,叫htmlgo
HTMGO 是一个轻量级的纯 Go 框架,用于构建交互式网站和 Web 应用程序。它结合了 Go 的速度和简洁性以及 HTMX 的超媒体属性,能够为网站添加交互功能,而无需编写 JavaScript。HTMGO 将所有内容都封装在纯 Go 中,编译成一个单一的可部署二进制文件。
核心功能单一可部署二进制文件:所有代码和依赖项都编译成一个二进制文件,方便部署。实时重载:在开发过程中,实时重载 CSS、Go 代码、Ent 模式和路由。自动页面和部分注册:基于文件路径自动注册页面和部分。内置 TailwindCSS 支持:默认支持 TailwindCSS,无需额外配置。插件架构:支持可选插件以简化开发,如 Ent。自定义 HTMX 扩展:减少常见任务的样板代码。示例代码以下是一个简单的示例,展示了如何使用 HTMGO 构建一个显示当前时间的页面:
func IndexPage(ctx *h.RequestContext) *h.Page { now := time.Now() return h.NewPage( h.Div( h.Class("flex gap-2"), h.TextF("The current time is %s", now.String()), ), ) }快速入门
安装 HTMGO:
GOPROXY=direct go install github.com/maddalax/htmgo/cli/htmgo@latest
创建新项目:
htmgo template
运行开发服务器:
htmgo watch
构建生产环境:
htmgo build页面和部分
HTMGO 使用文件路由自动注册页面和部分。页面是 HTMGO 应用程序的入口点,而部分允许在页面中添加交互内容。
组件组件是可重用的逻辑块,用于渲染 HTML。类似于 React 中的组件,HTMGO 中的组件是纯 Go 函数。
交互性HTMGO 提供了多种方法来添加交互性,如通过 HTMX 属性和头部信息进行部分交换、设置事件处理程序等。
性能优化HTMGO 提供了缓存组件的方法,以提高性能,特别是对于渲染开销较大的组件或需要外部数据请求的组件。
更多详细信息和文档可以访问 HTMGO 官方网站。
网友回复
在哪可以免费白嫖claude 4.5?
如何编写一个chrome插件实现多线程高速下载大文件?
cdn版本的vue在网页中出现typeerror错误无法找到错误代码位置怎么办?
pywebview能否使用webrtc远程控制共享桌面和摄像头?
pywebview6.0如何让窗体接受拖拽文件获取真实的文件路径?
如何在linux系统中同时能安装运行apk的安卓应用?
python有没有离线验证码识别ocr库?
各家的ai图生视频及文生视频的api价格谁最便宜?
openai、gemini、qwen3-vl、Doubao-Seed-1.6在ui截图视觉定位这款哪家更强更准?
如何在linux上创建一个沙箱隔离的目录让python使用?