Attributes
Includes Deno configuration
Repository
Current version released
2 years ago
Dependencies
std
fsrouter
A file system based router for Deno.
Usage
Given a project with the following folder structure:
my-app/
ββ pages/
β ββ blog/
β β ββ post.ts
β β ββ index.ts
β ββ about.ts
β ββ index.ts
ββ mod.ts
Each βroute fileβ must export a Handler as its default export:
// my-app/pages/blog/post.ts
export default (req: Request) => {
return new Response("hello world!");
};
Initialize fsrouter
with the following mod.ts
:
// my-app/mod.ts
import { fsRouter } from "https://deno.land/x/fsrouter@{VERSION}/mod.ts";
import { serve } from "https://deno.land/std@{VERSION}/http/server.ts";
// Use the file system router with base directory 'pages'
serve(await fsRouter("pages"));
Now running:
deno run --allow-read --allow-net my-app/mod.ts
Results in routes being served as follows:
File | Route |
---|---|
pages/index.ts |
/ |
pages/about.ts |
/about |
pages/blog/index.ts |
/blog |
pages/blog/post.ts |
/blog/post |
Note: since fsrouter
requires access to both the network and the file
system, --allow-read
and --allow-net
are required arguments when executing
modules.