Nuxt Studio是专为Nuxt Content网站设计的内容管理解决方案,现已以免费且开源的自托管模块形式发布。这一版本的推出标志着从之前的托管平台转向完全自托管的模式,使开发者能够完全掌控自己的内容编辑基础设施,而无需依赖任何外部服务。

Nuxt Studio配备了一系列功能,旨在帮助开发者与内容创作者之间建立更好的协作关系。该模块提供了类似Notion的可视化编辑体验,并全面支持MDC组件,用户可以插入Vue组件、直观地修改属性值,甚至可以直接在生产环境中拖放内容块进行编辑。

一个非常重要的开发者体验功能是实时预览功能,它能让内容编辑者立即看到他们在生产网站中所做的更改。草稿版本的更改会暂时存储在用户的浏览器中,直到用户决定发布时,这些更改才能被直接上传到GitHub或GitLab。这种与Git的集成确保了所有内容变更都会通过相同的CI/CD流程进行处理,从而维护数据的统一性。

开发者可以通过以下步骤将Nuxt Studio添加到自己的项目中:

npx nuxt module add nuxt-studio

该模块还提供了一个集中的媒体库,用于管理公共目录中的文件,用户可以浏览文件夹、上传文件,甚至可以直接在内容中插入图片。身份验证功能通过灵活的OAuth提供商来实现,支持GitHub、GitLab和Google等平台,同时也支持自定义认证流程。该界面本身也完全支持国际化设置,提供了英语、法语、德语、西班牙语、日语、中文等多种语言版本的界面。

对于那些原本使用托管版Nuxt Studio的开发者来说,迁移过程非常简单。根据官方迁移指南,迁移步骤包括安装该模块、配置身份验证设置,以及从Nuxt Content的配置中移除旧的预览功能相关设置。由于所有内容原本都存储在Git仓库中,因此从托管版切换到自托管版后,已部署的网站并不会受到任何影响。MasteringNuxt的文章指出,这种迁移方式“能让开发者真正掌握控制权”,并且“完全免费,不会带来任何额外成本”,因此被认为是项目发展的正确方向。

在基于Git的内容管理系统市场中,Nuxt Studio与Tina CMSDecap CMSStatic CMS等解决方案存在竞争关系。不过:LogRocket的对比分析指出,Nuxt Studio非常适合各种基于Nuxt框架开发的网站;而像Tina CMS这样的通用型CMS则更适合处理规模较大的项目,因为它们具备更先进的媒体处理功能和自定义字段组件。

最近在Reddit上有一篇帖子,询问最终用户使用Nuxt Studio的体验如何,得到的回复如下:

“虽然这一初衷值得称赞,但实际实现方式缺乏用户体验意识。”

以下是一些具体体现这种缺陷的例子:

侧边栏的用户界面并不总是能与页面内容和编辑器的更新保持同步;在编辑器中插入组件的方式也不够直观,用户很难了解可用的属性选项。也没有办法阻止某些页面被编辑。应该提供明确的机制来禁止编辑特定页面。此外,用户无法修改UI配置文件(例如更改“主题”)。当页面加载时,编辑器往往会自动格式化或删除内容,即使用户根本没有编辑该页面的意图。与YAML相比,MD格式的文件反而更难编辑。系统也没有文档状态标识(如草稿状态与已发布状态),也没有版本历史记录。即便用户并没有使用某些AI功能,这些功能也会被强制添加到用户界面中。而且,这些AI功能实际上是依赖于Vercel技术实现的。

在另一个帖子中,有人询问了关于通过PR进行分支管理的支持情况:

但我很失望的是,他们明明承诺会提供通过PR进行分支管理的功能。而Nuxt Content的一个最大缺点就是,所有内容都必须在主生产分支上运行……

Nuxt的创建者Sebastien Chopin回复道:

这个功能将会被纳入未来的开发计划中,因为我也需要它来编辑我们的文档。

Nuxt Studio是由Nuxt团队开发的一款开源内容管理模块。它基于MIT许可证发布,能够让用户在生产环境中直接使用可视化编辑工具来处理内容。这款模块专为那些希望对自己的内容管理系统拥有完全控制权、同时希望保持基于Git的工作流程和现代开发者体验的团队而设计。

Comments are closed.