kwhitley / itty-router

A little router.
MIT License
1.71k stars 77 forks source link

Split Routers Into Files #110

Closed Fantros closed 1 year ago

Fantros commented 2 years ago

Can we separate the routers?

Sample: ./router/admin.js ./router/account.js

ghost commented 2 years ago

Do you mean something like this @Fantros ?

// index.js
import { Router } from "itty-router";
import { router as subRouter } from "./sub-router";

const router = Router()

router
  .all("/subrouter/*", subRouter.handle) // be sure to include the * if you want non-root routes in the subrouter
  .all("*", () => new Response("Bad Request", { status: 400 }))

export default {
  fetch: router.handle
}
// sub-router.js
import { Router } from "itty-router";

export const router = Router({ base: '/subrouter' })

router
  .get("/", () => new Response('Session Router GET'))
  .post("/", () => new Response("Session Router POST"))
  .all("*", () => new Response('Bad request', { status: 400 }))
kwhitley commented 1 year ago

@jasiqli Answered this perfectly - that's how you do nested routing!