发布于 2026-01-06 0 阅读
0

🔥 新一代命令行工具,使用 htmx 和 hyperscript 在 Go 中构建出色的 Web 应用程序!Gowebly CLI AWS AI LIVE!

🔥 新一代命令行工具,使用 htmx 和 hyperscript 构建出色的 Go Web 应用

Gowebly CLI

AWS AI 直播!

介绍

嘿,我的开发者朋友们!👋

我好久没来了,是吧?很抱歉这段时间没出现,不过是有原因的……其中一个原因我将在本文中谈到。

所以,这是我新开发的命令行工具,名为gowebly 👇

📝 目录

gowebly是什么?

它是一款新一代 CLI 工具,可以轻松地使用 Go 在后端(net/httpFiberEchochi等)、htmxhyperscript,以及最流行的原子/实用优先CSS 框架Tailwind CSSUnoCSS等)在前端创建出色的 Web 应用程序。

您的项目中还包含了完全配置好的Docker文件。

GitHub 标志 gowebly / gowebly

🔥 新一代 CLI 工具,可轻松使用 Go 在后端创建出色的 Web 应用程序,使用 htmx、hyperscript 或 Alpine.js 在前端创建出色的 Web 应用程序,并使用最流行的 CSS 框架。

gowebly 标志

Gowebly CLI

新一代 CLI 工具,可轻松使用
Go后端创建出色的 Web 应用程序,使用htmxhyperscriptAlpine.js在前端创建出色的 Web 应用程序
并使用最流行的CSS框架。

Go 版本 去报告 执照

↘ Gowebly CLI 官方文档 ↙

English · Русский ·简体中文· Español

↘ 将项目链接分享给你的朋友 ↙

分享至 X 在 Telegram 上分享 在 WhatsApp 上分享 在Reddit上分享

gowebly 创建命令

✨ 特点

  • 100%免费开源遵循Apache 2.0许可证。
  • 对于任何知识水平和技术专长的开发人员来说,智能 CLI 都会为您完成大部分日常项目设置,创建易于理解的结构,并准备代码以供在生产环境中使用和部署。
  • 跨平台和多架构使其能够在任何 GNU/Linux 发行版、Microsoft Windows(包括 WSL)和 Apple macOS 上成功运行。
  • 文档齐全,包括许多其他语言的翻译( Русский简体中文 Español)。
  • 让您能够更快地使用Go启动新项目……

↑ 目录

使用它的乐趣是什么?

CLI的主要目的gowebly是简化创建新项目的过程。而且它在这方面做得非常出色!但与其听人说一百遍,不如亲眼看看:

首先,你需要安装它。可以通过以下方式完成安装:

  • Homebrew(适用于 GNU/Linux 和 Apple macOS 用户);
  • 原生 Go 安装(任何平台);
  • Docker镜像(任何平台);
  • 下载现成的可执行文件(任何平台)。

💡 注意:无论您选择哪种方式安装goweblyCLI,它都能正常工作。

goweblyCLI 安装到系统后,您可以使用以下命令init,,,createrunbuild

让我们仔细看看它们😊

💡 注意:另外,请记住,该gowebly项目的文档已经翻译成:Русский中文Español

当然,原文是英语

init命令

在当前文件夹中创建默认配置文件( )的命令。.gowebly.yml

gowebly 初始化

gowebly init每次在空文件夹中执行命令时:

  1. CLI验证当前文件夹;
  2. CLI 会创建一个默认.gowebly.yml配置文件。

通常情况下,创建的配置文件包含以下选项:

backend:
   module_name: project # (string) option can be any name of your Go module (for example, 'github.com/user/project')
   go_framework: default # (string) option can be one of the values: 'fiber', 'echo', 'chi', or 'default'
   port: 5000 # (int) option can be any port that is not taken up on your system
   timeout:
      read: 5 # (int) option can be any number of seconds, 5 is recommended
      write: 10 # (int) option can be any number of seconds, 10 is recommended

frontend:
   package_name: project # (string) option can be any name of your package.json (for example, 'project')
   css_framework: default # (string) option can be one of the values: 'tailwindcss', 'unocss', or 'default'
   runtime_environment: default # (string) option can be one of the values: 'bun', or 'default'
   htmx: latest # (string) option can be any existing version
   hyperscript: latest # (string) option can be any existing version
Enter fullscreen mode Exit fullscreen mode

你可以为项目的后端选择任何Go 框架:

Go框架 描述
default 不要使用任何 Go 框架(只使用内置的net/http包)
fiber 使用基于Fiber Web 框架的Go 后端
echo 使用 Go 后端和Echo Web 框架
chi 使用 Go 后端和chi可组合路由器

此外,您还可以为您的项目选择htmxhyperscript的版本,以及最流行的原子/实用优先CSS 框架之一:

CSS框架 描述
default 请勿使用任何 CSS 框架(代码示例中仅使用默认样式)。
tailwindcss 使用Tailwind CSS作为 CSS 框架
unocss 使用UnoCSS作为 CSS 框架

此外,您还可以为前端部分设置一个 JavaScript 运行时环境:

JavaScript 运行时环境 描述
default 使用Node.js作为 JavaScript 运行时环境
bun 将Bun用作JavaScript 运行时环境

create命令

使用Go后端、htmxhyperscript以及(可选的)atomic/utility-first CSS 框架创建一个新项目的命令

💡 注意:如果您不运行init创建配置文件的命令(.gowebly.yml), CLI 将创建一个具有默认gowebly配置的新项目

gowebly 创建

每次你gowebly create为你的项目发出命令时:

  1. CLI 会验证配置并将所有设置应用到当前项目;
  2. CLI 准备项目的后端部分(生成项目结构和所需的实用程序文件,运行go mod tidy);
  3. CLI 准备项目的前端部分(生成所需的实用程序文件,npm|bun installnpm|bun run build:dev首次运行);
  4. CLI从官方和受信任的unpkg.com CDN下载最小化的htmxhyperscript版本到文件夹,并将它们作为单独的标签(在标签的底部)放置在 Go HTML 模板中./static<script><body>templates/main.html

通常,创建的项目包含以下文件和文件夹:

.
├── assets
│   └── styles.css
├── static
│   ├── favicon.ico
│   ├── htmx.min.js
│   ├── hyperscript.min.js
│   └── styles.css
├── templates
│   ├── pages
│   │   └── index.html
│   └── main.html
├── .gitignore
├── go.mod
├── go.sum
├── handlers.go
├── main.go
├── package-lock.json
├── package.json
└── server.go
Enter fullscreen mode Exit fullscreen mode

run命令

以开发(非生产)模式运行项目的命令。

💡 注意:如果您不运行init命令来创建配置文件(.gowebly.yml),goweblyCLI 将使用默认配置运行您的项目。

gowebly 运行

每次你gowebly run为你的项目发出命令时:

  1. CLI 会验证配置并将所有设置应用到当前项目;
  2. CLI 准备项目的前端部分(运行npm|bun run build:dev);
  3. CLI 将所选CSS 框架的开发(非生产)版本准备./static文件夹中,并将其作为<link>标签(位于标签的底部<head>)放置在 Go HTML 模板中templates/main.html
  4. .gowebly.ymlCLI通过一个简单的命令,使用默认配置(或配置文件)中的设置启动项目的后端go run

build命令

命令用于构建生产环境的项目并准备用于部署的 Docker 文件。

💡 注意:如果您不运行init命令来创建配置文件(.gowebly.yml), CLI 将使用默认gowebly配置构建您的项目

gowebly 构建

您还可以添加以下选项:

选项 描述 必需的?
--skip-docker 跳过 Docker 文件的生成过程(如果您有自己的 Docker 文件,这将很有帮助)。

每次你gowebly build为你的项目发出命令时:

  1. CLI 会验证配置并将所有设置应用到当前项目;
  2. CLI从官方和可信的unpkg.com CDN下载最小化的htmxhyperscript版本到文件夹,并将它们作为单独的标签(在标签的底部)放置在 Go HTML 模板中./static<script><body>templates/main.html
  3. CLI 准备所选CSS 框架的生产版本,并将其作为<link>标签(位于标签底部)放置<head>在 Go HTML 模板中templates/main.html
  4. 如果未设置该选项,CLI 将在项目文件夹的根目录中--skip-docker生成清晰且文档齐全的 Docker 文件(.dockerignore,, ) Dockerfile,以便通过Portainer推荐)将其部署到隔离容器中,或者手动部署到远程服务器。docker-compose.yml

↑ 目录

gowebly 标志

CLI 创建动机

告诉我,你是不是经常需要从零开始创建一个新项目,然后进行繁琐的手动配置?🤔 特别是当你刚开始接触一项新技术或技术栈时,一切都是全新的。

对包括我在内的许多开发者来说,这个过程极其枯燥乏味,甚至令人沮丧,而且没有任何实际的工作量。这是一个非常令人沮丧的过程,足以让任何开发者对技术产生抵触情绪。

为什么不把所有那些繁琐的手工工作都交给机器呢?让它们替我们完成所有辛苦的工作,我们只需要专注于开发出色的网络产品,而不用考虑构建和部署的问题。

这就是我创建gowebly CLI及其助手库的原因,它可以帮助您使用htmxhyperscript和流行的原子/实用优先CSS 框架在Go中启动出色的 Web 应用程序

我来拯救你(也拯救我自己)于这种日常的痛苦之中!✨

之前,我已经拯救过世界一次了,那就是Create Go App(没错,那也是我的项目)。这个项目的GitHub 星标数不会说谎:超过2200 位来自不同国家、不同水平的开发者通过这个命令行工具创建了新项目。

↑ 目录

互利合作

现在,我诚挚地邀请您参与这个项目!让我们携手合作,共同打造当今网络上最实用的开发者工具。

  • 问题:提出问题并提交您的功能建议。
  • Pull requests : 将您的改进提交到当前版本。

欢迎提交 PR 和问题!谢谢 😘

↑ 目录

照片和视频

PS

如果你想在这个博客上看到更多类似的文章,请在下方留言并订阅我。谢谢!😻

❗️您可以通过Boosty平台支持我,既可以长期支持,也可以一次性支持。所有收益都将用于支持我的开源软件项目,并激励我为社区创作新的产品和文章。

在Boosty上支持我

当然,您也可以帮助我让开发者的工作变得更好!只需以贡献者的身份加入我的项目即可。很简单!

我最需要你帮助(和点赞)的项目👇

  • 🔥 gowebly:一款新一代 CLI 工具,可轻松使用 Go 在后端创建出色的 Web 应用程序,使用 htmx、hyperscript 或 Alpine.js 以及最流行的 CSS 框架在前端进行开发。
  • create-go-app:通过运行一条 CLI 命令,创建一个包含 Go 后端、前端和部署自动化功能的新生产就绪项目。

我的其他一些小项目:yatrgosljson2csvcsv2api

文章来源:https://dev.to/koddr/a-next- Generation-cli-tool-for-building-amazing-web-apps-in-go-using-htmx-hyperscript-336d