Loving Tina? us on GitHub0.0k

更新的Next.js文档 + 废弃tina-git-server

ByDJ Walker

我们更改了在Next.js网站中使用TinaCMS的Git后端的推荐方法。查看TinaCMS的Next.js文档以获取详细信息。

为了便于使用TinaCMS的后端插件,它们被设计为Express中间件。这些可以通过实现Gatsby的onCreateDevServer方法并添加几行连接代码,轻松附加到Gatsby的开发服务器上。我们认为可以将相同的中间件附加到其他框架的开发服务器上,从而无需为我们打算支持的每个框架重写后端代码。

在Next.js中,由于缺乏插件系统,开发人员需要编写更多代码才能与TinaCMS一起工作。为了在Next.js网站中使用Express中间件,开发人员可以采取以下两种方法之一:

  1. 创建一个独立的Express应用程序来使用中间件,或
  2. 编写一个自定义服务器来运行网站,在此过程中创建一个Express服务器并附加中间件。

我们之前选择了解决方案1,以最大限度地兼容任何现有的Next.js网站;否则,任何已经使用自定义服务器而不使用Express的Next.js用户可能会更难将两者集成在一起。这导致了tina-git-server命令的创建。

解决方案1的主要问题是,虽然中间件是在没有适当插件系统的情况下“插入”服务器代码的便捷方式,但这些中间件“插件”只能控制其他插件。在此系统中,没有办法附加可以对网站本身施加任何控制的中间件。我们最初对这一限制感到满意,但在策划可能的访问控制功能时,我们决定这个解决方案是不够的。

最终,解决方案2既简单又更健壮。尽管这需要使用TinaCMS的开发人员付出更多努力,但这通常是正确反转控制的软件的副作用。