什么是 ember-apollo-server?
ember-apollo-server 是一个基于 Ember.js 和 Apollo 的服务器端框架。它能够帮助开发者快速地构建 GraphQL API。它支持数据响应式更新和实时订阅,让开发者可以轻松地构建实时应用。另外,它还支持多数据库后端,包括 Mongo, PostgreSQL, etc.
使用 ember-apollo-server,我们可以在应用程序中轻松集成其他库,并通过浏览器或移动端访问这些 API。总之,它是一个受欢迎的服务器端框架,值得尝试。
开始使用 ember-apollo-server
步骤一:创建一个新的 Ember 应用程序
首先,需要创建一个全新的 Ember 应用程序。在终端中,运行以下命令:
----- --- ------------
该命令将创建一个名为 my-ember-app 的新应用程序。
步骤二:安装依赖库
完成应用程序的创建后,需要安装 ember-apollo-server 并且将其链接到应用程序中。
在终端中,运行以下命令:
----- ------- ------------- -------------------
步骤三:创建服务器端逻辑
在创建完应用程序并安装了所需的依赖库后,需要创建服务器端逻辑。我们可以通过运行以下命令来完成此操作:
----- - ------------- ---------
该命令将在 my-ember-app/app 目录下自动生成 server 目录,并为您创建服务器端逻辑的初始结构。
- ------------ ----- - ------------- --------- ---------- ------ ----------- ------ ----------------------- ------ -------------------- ------ -------------------------- ------ ------------------- ------ -------------------------------
步骤四:添加 GraphQL schema
下一步,需要在 app/server/schema.js 中添加 GraphQL schema。schema 是您用来定义服务器暴露的 query、mutation 和 subscription 的方式。
以下是 sample todo GraphQL schema:
------ - --- - ---- ------------------------ ------ ------- ---- ---- ----- - ------ ------ - ---- ---- - --- --- ----- ------- ---------- -------- - ---- -------- - ------------- -------- ---------- ---------- ---- - ---- ------------ - ---------- ---- - --
步骤五:添加 GraphQL resolvers
接下来,需要实现 app/server/resolvers.js 中的 GraphQL resolvers。
这些 resolvers 是将客户端查询转换为服务器数据的函数。它们可以基于硬编码的值或来自数据源的其他数据。
以下是 sample todo GraphQL resolvers:
------ ------- - ------ - ------ ----- --- --- - ----------- -- -- - ------ ----------------------------- -- -- --------- - -------- ----- --- - ----- --------- -- - ------------ ------ -- -- - ----- ------- - ----- --------------------------- ----- ---------- --- ---------------------------- - ---------- ------- --- ------ -------- -- -- ------------- - ---------- - ---------- --- --- - ------ -- -- ------------------------------------- -- -- --
步骤六:添加服务器数据源
接下来,需要在 app/server/data-sources.js 中定义服务器数据源。数据源是用来引用实现数据访问逻辑的对象。
以下是 sample todo 数据源:
------ ------- ----- -------- - ------------- - -- ------ ----- - ------------ ----- --------- -- - -- ------ ---- -- ------ ---- - -
步骤七:将服务器连接到应用程序
最后一步是在 app/server/index.js 中启动服务器。
以下是 sample todo 服务器:
------ - ------------ - ---- ------------------------ ------ - -------------------- - ---- ---------------- ------ ------- ---- ---------- ------ - ------------ - ---- ------- ------ ------ ---- ------------------------ ------ -------- ---- ----------- ------ --------- ---- -------------- ------ -------- ---- ----------------- ----- --- - ---------- ----- ------ - ---------------------- --------- ---------- --- ----- ------ - --- --------- ----- ------ - --- -------------- ------- ------------ -- -- -- --------- --- ----------- --- -------- -- ---- ---------- -- -- - -- ------------ - ------ - ---------------------- ------ -- - ------ - ------ -- -- -------------- - ---------- ------------------ ---------- -- - -- ------- -------------- -- ----- ---------- ------ ----------- -- -- --- ------------------------ --- --- ----- ---------- - ------------------ ----------------------------------------------- ------------------- ----- ---- -- -- -- - --------------- ------ ----- -- --------------------------------------------- --------------- ------------- ----- -- ------------------------------------------------- ---
步骤八:测试服务器
完成服务器的启动后,可以通过访问 http://localhost:4000 来测试 API。
您可以将以下内容粘贴到 GraphiQL 中并执行:
-------- ------- - ------------- ---- ------ ---------- ------ - -- ---- --------- - - ------------ ----------- - --------- - -- ---- --------- - -
在添加一个新的 todo 后,您将能够在订阅器中看到以下内容:
- ------- - ------------ - ----- ---- ------- ---- ------ ------------ ----- - - -
结论
以上是 ember-apollo-server 官方文档简单教程。希望对大家有所帮助,大家可以进一步去探索 GraphQL 和 ember-apollo-server 的更多用法和技术细节。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60065f7f238a385564ab6add