【化蛹为蝶四】Nextjs 自定义服务端接入 Koa

上篇 我们唠了唠 Nextjs 项目的目录结构,谈了谈我经历的几次目录结构调整

今天再填个坑:Nextjs 自定义服务端框架的法子

使用了 Nextjs 为什么还需要自定义服务端框架

Nextjs 作为客户/服务双端通吃的框架,为什么还需要自定义服务端框架呢?

一方面是 Nextjs 大包大揽,包掉了许多功能,导致丧失了一定的灵活性

另一方面则是由于一些项目是从原有的 “React + 模板引擎 + 某服务端框架” 集合而成的自研架构

但又想要无缝迁移使用 Nextjs,这个时候 “React + 模板引擎” 这部分可以使用 Nextjs 自有的

然而服务端这边总不可能再直接使用 Nextjs 自有的了

因为原有项目的服务端一定沉淀或使用了一些该服务端配套的中间件/工具

这总不能大改吧

所以这个时候就需要不使用 Nextjs 自有的服务端,而是使用自定义的服务端框架了

接入 Koa2

我这里是因为公司自有架构使用的 Koa 服务端,我就拿 Koa 来集成到个人项目里,顺便练练手夯实一下

其实这块接入并不复杂,主要是放出来代码,让大伙瞧瞧

了解了我个人自定义的 Koa 都做了什么事儿,后面文章也好拓展一下

代码如下:

根目录/server.js
carbon (11).png

总结一下,这里我一共做了这样几件事:(代码也备注了)

  • 初始化了一些配置并挂载到上下文里
  • 支持 Public 目录静态文件访问
  • 初始化 Mysql、Redis 连接
  • 加载了一些自定义中间件
  • 初始化 Graphql 服务器
  • 初始化日志记录器
  • 初始化 Session

嗯,今天也就到这儿,就分享 Nextjs 自定义服务端这一个点

算是又填了一个坑

后续预告:
  • 一些小问题:目录结构(已填)、引入 Koa(本篇)、@根路径 Import、引入 Less、Yaml 解析、引入 Reset CSS、日志记录与存储
  • Nextjs 系列序言及项目初始化(已填)
  • Nextjs 引入 TypeScript、Ant Design(已填)
  • Nextjs 引入 Prisma 和 Mysql2 存取数据(长文)
  • Nextjs 引入 Apollo-Server/Apollo-Client 使用 Graphql(长文)
  • Nextjs + Prisma + Graphql Demo 实践(长文)
  • Nextjs 如何使用 Session 和 Cookie
  • Nextjs 基于 Graphql、Prisma 的 JWT 登录鉴权(长文)
  • Nextjs 鉴权后自动跳转登录页
  • Graphql 请求如何带上公共 Headers
  • Koa Auth 接口预处理之接口鉴权中间件
  • 基于 RBAC 模型使用 Graphql + Prisma 实现权限管理(长文)

vx👦:mmm7nnn

公号🐓:醒途

邮箱📧:suanzao@wacai.com(欢迎找我内推)

如果喜欢这个系列请给我一个点赞👍或者一个关注➕,诸君的支持是我创作的最大的动力
持是我创作的最大的动力

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泡泡码客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值