nodejs系列:69.koa之koa-json-error-3

128 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情

系列介绍

该系列主要是介绍一些nodejs相关的基础知识,没有什么特别难的知识点,都是一些比较基础知识点。大家学习起来,也会比较容易理解和接收。

这些知识点,也是以前自己学习nodejs的时候,学习过的知识点。有些知识点,可能是由于学习的时间比较久了,也有可能是平时工作中用到的机会比较少,也差不多快把它们都忘记掉了。现在把它们都写下来,写成文章,一方面是记录下自己以前学习的nodejs知识点,一方面也是复习巩固自己以前学习的nodejs知识点。不要学着学着,就把以前的知识点都忘光了。

环境安装

实现之前,你首先需要安装nodejs环境。因为我们写的代码需要在node环境上运行,如果你没有,那么文件会运行不了。

以下是nodejs的安装地址,如果你没有安装的话,可以先把它安装上。安装了可以忽略这一步,跳到下面一步。

nodejs安装

前言

在上一篇文章里nodejs系列:68.koa之koa-json-error-2,主要是完成了前端页面的构建工作。

接下来,我们要完成服务器端的代码。

实现

创建文件

创建一个index.js文件,服务器端代码将在这个文件里完成

引入koa
const koa = require("koa");
const app = new koa();

引入koa,创建koa实例对象

引入koa-cors
const cors = require("koa-cors");
app.use(cors());

引入koa-cors中间件,用来解决请求的跨域问题

引入koa-router
const Router = require("koa-router");
const router = new Router();

引入koa-router中间件,后面我们要使用koa的路由

注册路由
router.get("/login", (ctx) => {
  ctx.throw(400, "账号没有传递");
});

访问/login路径时,我们抛出一个错误,返回错误信息账号没有传递给到客户端

router.get("/", (ctx) => {
  ctx.body = {
    code: 200,
    data: {
      name: "alin",
    },
  };
});

访问/路径时,请求成功,返回数据给到客户端。

引入koa-json-error

如果没安装koa-json-error中间件,我们需要先安装一下

npm install koa-json-error

使用koa-json-error中间件

const error = require("koa-json-error");
app.use(
  error({
    postFormat: (e, { stack, ...rest }) =>
      process.env.NODE_ENV == "production" ? rest : { stack, ...rest },
  })
);

引入koa-json-error中间件,并且使用。我们传递一个对象进去,主要是使用它的postFormat属性。做了判断,如果是生产环境,就返回响应内容。如果是开发环境,除了返回响应内容,还把执行错误的执行栈信息,返回给到客户端。

监听端口
app.listen(3000, () => {
  console.log("服务器启动了");
});

监听3000端口,启动服务器

小结

本小节,主要是完成了服务器端代码。下一节,我们将要进行前后端联调工作了。看下使用koa-json-error中间件的效果怎么样。

最后,放上自己比较喜欢的一句诗句:

千淘万漉虽辛苦,吹尽狂沙始到金 - 唐 刘禹锡《浪淘沙》