Socket
Book a DemoInstallSign in
Socket

egg-graphql-apollo

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

egg-graphql-apollo

egg graphql-tools plugin

0.1.6
latest
Source
npmnpm
Version published
Weekly downloads
7
Maintainers
1
Weekly downloads
 
Created
Source

egg-graphql-apollo

npm travis-ci Coverage Status npm

插件参考了 egg-graphql,并与 egg-graphql 配置保持一致。不同的地方是文件结构定义和编写方式。

egg-graphql-apollo 推荐 graphql 模型定义及 resolvers 等相关逻辑在 app/graphql 目录中实现。

例如:

// app/graphql/user_info.js

exports.typeDef = `
type UserInfo {
  id: Int!
  name: String!
  createdAt: Date! @date(format: "YYYY-MM-DD")
}
`;

exports.resolver = {
  Query: {
    user(root, { id }, ctx) {
      return ctx.service.userInfo.fetchById(id);
    },
  },
};

exports.directiveResolver = {};

exports.schemaDirective = {};

每个 js 文件输出可选 typeDefresolverdirectiveResolverschemaDirective,具体见测试用例,API: graphql-tools。这样做的好处是业务归类清晰、graphql schema 可组合。

你也可以编写 .graphql 文件,插件会加载并组合它们。

安装

$ npm i egg-graphql-apollo

config/plugin.js 开启插件:

exports.graphql = {
  package: 'egg-graphql-apollo',
};

config/config.${env}.js 配置 graphql 的路由。

// config/config.${env}.js
exports.graphql = {
  router: '/graphql',
  graphiql: true,
  onPreGraphQL: async (ctx) => {},
  onPreGraphiQL: async (ctx) => {},
};

使用方式

请参考测试用例的目录结构, 以及 dataloader 的使用。

参考项目

协议

MIT

Keywords

egg

FAQs

Package last updated on 29 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.