Router
提供简单服务端路由的中间件。
配置参数
- basePath string
- strict boolean
描述
此中间件使用 URLPattern 标准实现了一个简单的路由。路由处理程序的第一个参数是一个对象,其中包含路径中捕获的所有变量,以及 request
实例:
const router = new Router();
router.get("/search/:id", ({ id, request }) => {
const { searchParams } = new URL(request.url);
const query = searchParams.get("query");
return new Response(`Searching by ${query} in the file ${id}`);
});
安装
此中间件必须与 Lume 的 HTTP 服务器 一起使用。要在生产环境中使用它,你需要 一个运行 Deno 服务器的主机,例如 Deno Deploy。
创建一个入口点文件(例如,serve.ts
),包含以下代码:
import Server from "lume/core/server.ts";
import Router from "lume/middlewares/router.ts";
// 创建路由
const router = new Router();
router.get("/hello/:name", ({ name }) => {
return new Response(`Hello ${name}!`);
});
// 创建服务器并使用路由:
const server = new Server();
server.use(router.middleware());
server.start();
本地开发
你可以配置 Lume 的开发服务器以在 _config.ts
文件中使用此中间件。假设你有一个 my-router.ts
文件,它导出一个 Router
实例:
import lume from "lume/mod.ts";
import myRouter from "./my-router.ts";
const site = lume({
server: {
middlewares: [myRouter.middleware()],
},
});
export default site;