Koa + GraphQL 示例】的更多相关文章

初始化项目 创建 graphql-example 文件夹进入后初始化一个 package.json 文件. $ mkdir graphql-example && cd $_ $ yarn init -y 安装依赖 使用 koa-graphql 配合 koa-mount 两个 npm 模块来使用 GraphQL.同时需要安装 graphql 模块来创建需要使用的 schema. $ yarn add koa graphql koa-graphql koa-mount server 安装 ko…
学习本姿势需要电脑装有node,vue-cli相关环境,以及要有node,express,koa,vue相关基础 本文相关demo的github地址: node服务:https://github.com/liuming888/graphql_node_demo.git vue项目:https://github.com/liuming888/graphql_vue_demo.git 一 Graphql概述 它是什么?从哪里来?要干什么? 简单地讲,对于前端,它就是让你舒舒服服发请求的 严格的说,它…
系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 前言 这篇文章是这个系列的第一篇,我们会简单地讨论一下GraphQL,然后介绍一下这个系列将会使用的示例项目. 关于GraphQL 关于GraphQL和Restful API的讨论已经有很多了,我在本文里不会试图去推销什么技术.GraphQL的官方主页在这里GraphQL | A query language for your API,它的出现是为了解决Restful API面临的当所需查询的数据结构呈现及其复…
app.js var Koa = require('koa') var fs = require('fs') var path = require('path') var koaStaticPlus = require('koa-static-plus') var Router = require('./router') var app = new Koa() //处理静态资源 app.use(koaStaticPlus(path.join(__dirname, '/dist'), { path…
我们知道 GraphQL 使用 Schema 来描述数据,并通过制定和实现 GraphQL 规范 定义了支持 Schema 查询的 DSQL (Domain Specific Query Language,领域特定查询语言).Schema 帮助将复杂的业务模型数据抽象拆分成细粒度的基础数据结构,而 DSQL 的实现则赋予了前端开发者自由组织和定制请求数据的能力.如果以一张图来表示的话,可以将 GraphQL 看做一条以 通用基础业务数据模型 为基础.将传统后端服务和前端页面紧密且自由地联系在一起…
在上一篇中我们梳理了koa当中中间件的洋葱模型执行原理,并实现了一个可以让洋葱模型自动跑起来的流程管理函数.这一篇,我们再来研究一下koa当中异步回调同步化写法的原理,同样的,我们也会实现一个管理函数,是的我们能够通过同步化的写法来写异步回调函数. 1. 回调金字塔及理想中的解决方案 我们都知道javascript是一门单线程异步非阻塞语言.异步非阻塞当然是它的一个优点,但大量的异步操作必然涉及大量的回调函数,特别是当异步嵌套的时候,就会出现回调金字塔的问题,使得代码的可读性非常差.比如下面一个…
https://medium.com/the-graphqlhub/your-first-graphql-server-3c766ab4f0a2#.n88wyan4e 0.问题来了 DT 时代,各种业务依赖强大的基础数据平台快速生长,如何高效地为各种业务提供数据支持,是所有人关心的问题. 现有的业务场景一般是这样的,业务方提出需求,然后寻找开发资源,由后端提供数据,让前端实现各种不同的业务视图.这样的做法存在很多的重复劳动,如果能够将其中通用的内容抽取出来提供给各个业务方反复使用,必然能够节省宝…
深入浅出Koa(1):生成器和Thunk函数 Koa是个小而美的Node.js web框架,它由Express的原班人马打造的, 致力于以一种现代化开发的方式构建web应用. 通过这个系列,你将能够理解Koa的基本原理,并且学习如何正确有效的使用Koa编写Web应用程序.本文主要向你介绍 Koa的一些基础知识,包括生成器,thunks等. 为什么要用Koa? Koa提供的一些关键特性能够让你尽可能避免回调函数的情况下简单快捷的编写web应用.Koa使用了ES6中的一些新的语言 特性来让Node应…
背景 今年我在做一个有关商户的app,这是一个包含商户从入网到审核.从驳回提交到入网维护的完整的生命周期线下推广人员使用的客户端软件,但故事并没有这么简单... 疑问 随着app的逐渐完善,遇到的问题也渐渐多了起来,界面加载过久,初始化页面请求次数过多等各种各样的小毛病开始凸显了出来.于是我开始了优化之路,第一步便是从api请求入手,仔细查看了每个api返回的内容,一直奇怪为什么接口总是返回很多的数据回来,比如我需要一个商户的详细信息,可接口却会把这个商户相关的门店信息.所有人信息等其它各种各样…
目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mysql-helper.js 编写数据访问方法 规划业务逻辑返回值 编写业务逻辑 注册 登录 首页 安全退出 写在之后 前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.…