KeystoneJS 和 Strapi 作为创建 CMS 驱动应用程序的工具之间的主要区别是什么?

Cha*_*les 11 frontend web-applications content-management-system strapi keystonejs

当我想将 Vue/React/Angular 粘贴到 SPA 的前端时,我倾向于将 Keystone(原样)用于标准的、服务器驱动的多页应用程序和 Strapi?因为它已经有一个模板/视图,Keystone 可能会更快地获得 MVP?还要别的吗?

Ral*_*rdz 9

一年多来,我一直喜欢在多个项目中使用 KeystoneJS v5。我和你有同样的问题,我选择了 Keystone 而不是 Strapi(即使 git 星级和社区更高),因为我正在寻找一个简单的基于文件的后端生成器。

这条线表示:schema => ({AdminUI, GraphQLApi})

我需要快速定义(然后轻松修改)后端的信息架构,并看到它自动反映在 CMS 和 API 中。

(Strapi users, correct me if I'm wrong)我看到 Strapi 更专注于构建构建此后端的拖放(无代码)方式。我找不到将 Strapi 与文件一起使用并获得我正在寻找的 CMS 和 API 的直接方法。在我看来,它是为想要后端但不想编写代码的人而构建的。

我宁愿使用我的代码编辑器功能(查找/替换、多光标)来定义和修改我的架构,而不是浏览器上的拖放组件。还使用以前的项目作为我的基础代码来构建新项目。

我的 keystone 项目得到了一个非常简单的文件结构,其中大多数都是开箱即用的,并且制作自定义突变、AdminUI 组件、挂钩和数据播种非常简单。

下面是一个例子:

??? index.js  // imports entities, hooks, initial-data, submodules
??? initial-data.js // imports seed/index.js and orchestastes how to create data 
??? entities // for each entity (list): field types, access control, hooks, adminUI configs
?   ??? index.js
?   ??? Users.js 
?   ??? Books.js
?   ??? Loans.js
?   ??? Authors.js
?   ??? ...
?   ??? Categories.js
??? extendGraphqlSchema // pretty easy to add new custom Graphql types, mutations and queries  
?   ??? index.js
?   ??? types
?   ??? queries
?   ??? mutations
??? hooks 
?   ??? index.js
?   ??? user_beforeUpdate.js
?   ??? book_validateInput.js
?   ??? ...
?   ??? loan_afterDelete.js
??? keystone-media-server // submodule I use on many Keystone projects
?   ??? adapters
?   ??? fields
?   ??? lists
?   ??? resolvers
?   ??? seed
??? seed // list of functions to create a complete data example to test
    ??? index.js
    ??? createUsers.js
    ??? createBooks.js
    ??? createLoans.js
    ??? createAuthors.js
    ??? createCategories.js
Run Code Online (Sandbox Code Playgroud)


小智 6

不太熟悉 KeystoneJS,但从外观上看,它们非常相似。Strapi 看起来有一个更可扩展的 API,但总体上是相同的概念。我已经在几个项目中使用了 Strapi,它的工作速度很快,你可以在不到一个小时的时间内将 Strapi 安装到 Heroku 上,并具有完全构建的架构。

两者之间的一件事是对 GraphQL 的支持,Strapi 正在大力推动涉足 GraphQL 世界,我相信是为了跟上 Tipe.io。

设置 GQL + Strapi + Nuxt / Next 非常适合创建 SSR 应用程序。

  • (默认情况下,Strapi 设置为与 REST 一起使用,但通过 `strapi install graphql` 提供了一个 GQL 插件,因此您可以在几秒钟内为 GQL 做好准备) (2认同)