Deno - 如何实现 404 页面

Dan*_*iel 5 deno oak

我一直在努力在 deno(oak 服务器框架)中实现 404 页面 - 如果我加载任何不存在的地址,我只会得到一个空白页面..

空白页样本

尝试过:(page404MiddleWare.ts):

import {Context, exists, send} from "./deps.ts";
export const page404MiddleWare = async (ctx: Context, next: Function) => {
   ctx.response.body = "404 page";
   await next();
}
Run Code Online (Sandbox Code Playgroud)

但这似乎是一种不好的做法。

Vic*_*ves 6

我会为所有不存在的 url 添加一个默认路由,并将用户重定向到那里:

router.get("/(.*)", async (context: Context) => {      
    context.response.status = 404;
    context.response.body = "404 | Page not Found";
});
Run Code Online (Sandbox Code Playgroud)

以及所有休息路线:

...
...

router.get(
  "/api/users",
  UserController.fetch,
);

router.get(
  "/api/me",
  UserController.me,
);
...
...
Run Code Online (Sandbox Code Playgroud)

查看我的 Deno REST 样板项目了解更多详情:https : //github.com/vicky-gonsalves/deno_rest