PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

PageKit:你无论如何都得自己开发 GrapesJS 应用

一个围绕开源GrapesJS核心的源代码可用Next.js应用——发布、自定义域名、潜在客户、结账和插件加载器。

GJS.MARKET
GJS.MARKET
2026年8月17日 • 1 个月前
阅读约 4 分钟1,079 次浏览

每个 GrapesJS 项目都是从同样的方式开始的。你安装编辑器,把一个块拖到画布上,它在第一天下午就能正常工作。这部分其实很简单——编辑器是个好软件,能做到它说的样子。

然后问题开始了。页面存在哪里?第二个用户如何获得账户?发布到底意味着什么?服务acme.co是什么,证书来自哪里?表单提交去哪里?四周过去了,你还没写出任何客户会注意到的功能,你构建了一个几乎与 GrapesJS无关的应用。

我们打包了这个应用。 PageKit 是一个生产 Next.js 应用,包围了开源 GrapesJS 核心:认证、工作区、多租户项目、页面存储、发布流程、自定义域名、潜在客户捕获、结出和插件加载器。它作为源代码以一次性许可证发布,你自己托管,并且可以更改任何代码。

它处于 v0.1.0,预发布阶段,候补名单已开放在 pagekit。gjs.market。

编辑是比较简单的那一边

我们一直这么说,是因为这正是产品的全部核心。你现在能买到的大多数 GrapesJS 集成都停在有趣的地方:一个项目,一个用户,发布意味着“下载一个ZIP”,域名就是你的问题。

需要一个月的部分是租用期。一个工作区托管多个项目,每个项目都有自己的页面、域名和发布状态。拥有所有者、编辑和查看者角色,通过电子邮件邀请和一个守卫防止你降级最后一个所有者。一个选择加入的审核门,让客户的市场团队可以编辑而不发布。通过中间件加上自定义域名和按需TLS的通配子域名,这样新项目可以通过HTTPS访问而无需部署。

这些都不是 GrapesJS 工作。所有这些都是你无法没有的努力。

破坏 GrapesJS 集成的四点

如果你之前集成过编辑器,至少遇到过其中一种。它们正是导致周末原型需要一个月才能达到生产阶段的真正原因——每一个都塑造了架构。

1. 项目状态不是导出。getProjectData()返回恢复编辑会话的内容。getHtml()并getCss()生成你发布的内容。存储错误的页面,你要么向访客发送编辑支架,要么给用户一个无法编辑的页面。PageKit 保留两个独立存储:会话的项目数据列和渲染的文物的出版物行。发布页面从第二个存储开始,永远不会触及编辑器代码路径——这也是为什么他们从不加载编辑器捆绑包。

2. 画布是一个iframe。字体、CSS重置以及渲染内容所需的运行时库必须注入到框架中。将它们添加到主机页面完全没有作用,这听起来像是样式错误,并且会在错误的文件中调试一整天。画布需要的所有内容都会经过canvas.stylescanvas.scripts,所以你编辑时看到的就是发布文档实际加载的内容。

3. 组件脚本是一个序列化字符串。它在画布框架内执行,无法覆盖周围的范围。引用导入符号的脚本会干净利落地进行类型检查并在运行时抛出——直到用户将该组件拖到页面之前是不可见的。PageKit 中的每个自定义组件都通过脚本道具传递其依赖,规则是在审查中执行,而非生产环境中发现。

4. 自定义类型必须在内容加载前注册。引用尚未注册类型的内容会悄然退化为纯元素,并在该会话中永久失去行为。没有错误;页面每次打开都会变得更糟。插件加载器会在加载路径运行前解析并注册项目插件,并且会大声拒绝版本不兼容的插件,而不是在画布内默默失败。

OSS 核心

PageKit 基于 0.23.5 构建grapesjs——仅开源核心。这是一个许可决策,而非技术层面:商业版 Studio SDK 带有每个域的许可,不能重新分发给你,这使得它无法作为源代码销售的产品中使用。

你对现代编辑器壳的所有预期——可搜索的块调色板、层树、样式管理器、特性、设备切换、由乐观版本令牌保护的自动保存,防止两个标签无声覆盖——都基于核心 API 构建,并附带你收到的源代码。编辑器保持依赖而非分支,因此上游修复仍保留上游。

盒子里是什么

九个领域,全部由测试构建和覆盖:编辑器壳;带缓存出版物、通配符子域名和自定义域名的发布;带有原版图片生成、网站地图和机器人的每页SEO;特征面板中的表单,含字段构建器,蜜罐加上可选的Turnstile或hCaptcha,以及带CSV导出的潜在客户收件箱;微型电子商务,包含产品、购物车和付款适配器后面的结账窗口;带有管理员内 gjs.market 浏览器的插件加载器;A/B测试和弹窗;团队角色和审批;带有离线Ed25519许可检查的白标品牌。

存储、电子邮件和支付都托管在一个界面后面,离线默认设置合理——本地文件系统、SMTP,以及一个测试支付提供商,允许在无账户和无密钥的笔记本电脑上完成完整结账流程。通过提供凭证,切换S3、重发或邮戳、Stripe或PayPal。

你可以自己对比源代码的仓库数量:四个类别的19个编辑器模块,6种自定义组件类型,23个数据库表,11次Drizzle迁移,12个Playwright端到端规范,10个单元套件,以及16个运行时包中零GPL依赖。

你的安装是自带目录的

插件加载器是产品一流的部分, gjs.market 商店前端集成在管理员中,作为全屏显示,而不是脚页中的链接。清单经过 zod 验证,semver 范围在注册前会与已安装的 GrapesJS 进行核对,并npm run create-plugin搭建新的 sublet。扩展安装并不意味着分叉它。

还没建成的东西

有两点,我们更希望你现在阅读,而不是购买后才发现。多语言页面 ——按地区变体和语言切换块——是设计的,但未编写;目前仓库中没有 i18n 代码。 基于你自己密钥的 AI 文 案生成也未被写入,当前源码中没有 AI 依赖。两者都在公开路线图上。

上面列出的其他所有设备都在建成并正在测试中。

运行

Node.js 20+,PostgreSQL 16,或者用带 Docker 的 VPS(docker compose up带来 Postgres、应用和 Caddy)或 Vercel 和托管的 Postgres。大约 1GB 内存用于 Docker 路径,以及一个通配符 DNS 记录用于子域路由。共享主机不行—— Next.js 需要 Node 运行时,我们更愿意在这里说明,而不是卖退款给你。

授权与抢先体验

每层一次性: 开发者单一生产项目199 美元, 代理商449 美元,最多十个带有白标管理品牌 的客户项目,SaaS / 无限899 美元用于运行自有托管产品并向终端用户收费。每个层级包含十二个月的更新;之后按每年40%的许可价格续费。由于你是自主机,升级时间安排自定——更新从不强制应用于正在运行的安装。

许可检查会验证一个由Ed25519签名的令牌离线状态,且有较长的宽限期。如果我们的许可服务器完全消失,最坏的情况也不过是管理面板出现可删除通知。它从不屏蔽仪表盘,也不会碰到已发布的页面。


早鸟:前20名买家以开发者价格获得代理级别,终身更新。


候补名单现已开放,网址为 pagekit。gjs.market ——上线时一封邮件,早鸟奖金,还有路线图。没有其他内容。

发布于 2026年8月17日
更新于 2026年10月2日
⚡ Next.js

在用 GrapesJS + Next.js 开发吗?

告别 SSR 烦恼。浏览专为 Next.js 项目打造的 SSR 安全 GrapesJS 插件。

分享本文TwitterFacebookLinkedIn
发布平台
GJS.MARKET
GJS.MARKET
访问店铺 →

更多来自 GJS.MARKET

发现更多精彩文章,及时获取最新内容。

查看全部文章

来自 GJS.MARKET 的付费插件

由该作者精心打造的精选付费插件。

访问店铺 →