简介
@feathers-plus/graphql
是一个基于GraphQL
技术的FeathersJS
框架的npm包,它可以让开发人员更加便捷地实现GraphQL API
的部署和后端接口的编写,非常适合前端工程师进行开发。
安装
npm install @feathers-plus/graphql --save
安装完成后,你需要在你的FeathersJS
项目中注册该插件。
配置
-- -------------------- ---- ------- ------ -------- ---- ----------------------- ------ ------- ---- ---------------------- ------ ------- ---- ------------------------- ----- --- - -------------------- -- ----------- ----------------------- --------- ---- ---- -- ---- -----------------
在上述代码中,我们使用了FeathersJS
的内置express
服务来启动我们的项目,并配置了graphql
插件,并开启了graphiql
调试模式。
使用
使用@feathers-plus/graphql
非常简单,你只需要定义好GraphQL Schema
和Resolvers
即可。接下来我们看一下具体的步骤。
定义Schema
Schema
是定义GraphQL API
的核心,所以我们需要定义好我们的Schema
。下面是一个简单的例子:
-- -------------------- ---- ------- ------ - -------------------- - ---- ---------------- -- -------- ----- -------- - - ---- ----- - ------ ------ --- -- ------------ ----- ------ - ---------------------- -------- ---
在上述代码中,我们通过调用makeExecutableSchema
函数来创建可执行的GraphQL
Schema
实例。typeDefs
参数是我们定义的Schema
。
定义Resolvers
Resolver
是定义如何处理请求和响应的关键,因此我们需要定义好我们的Resolvers
。下面是一个简单的例子:
// 定义Resolver const resolvers = { Query: { hello: () => 'world' } };
在上述代码中,我们定义了一个简单的Resolver
,它的作用是返回一个字符串"world"。
将Schema和Resolvers注入到GraphQL插件中
现在我们已经定义了我们的Schema
和Resolvers
,现在我们将它们注入到GraphQL
插件中:
// 注册GraphQL插件,并将Schema和Resolvers注入 app.configure(graphql({ graphiql: true, schema, resolvers }));
示例
下面是一个完整的示例代码:
-- -------------------- ---- ------- ------ -------- ---- ----------------------- ------ ------- ---- ---------------------- ------ ------- ---- ------------------------- ------ - -------------------- - ---- ---------------- -- -------- ----- -------- - - ---- ----- - ------ ------ --- -- ---------- ----- --------- - - ------ - ------ -- -- ------- - -- -- ------------ ----- ------ - ---------------------- --------- --------- --- ----- --- - -------------------- -- -------------------------------- ----------------------- --------- ----- ------- --------- ---- -- ---- -----------------
现在你可以在浏览器中访问http://localhost:3000/graphql
进入GraphQL Playground
界面,在界面中你可以通过执行hello
查询将会返回字符串"world"。
总结
通过本篇文章的学习,我们已经学会如何使用@feathers-plus/graphql
这个npm包来实现GraphQL API
的部署和后端接口的编写,它可以让前端工程师更加轻松地完成一些前后端交互的开发任务。希望这篇文章能对您有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/85577