prep for publish
This commit is contained in:
59
README.md
59
README.md
@@ -7,24 +7,26 @@ A simple router for Deno.
|
||||
## Usage
|
||||
|
||||
### Basics
|
||||
|
||||
```ts
|
||||
import Router from '@bearmetal/router';
|
||||
import Router from "@bearmetal/router";
|
||||
|
||||
const router = new Router();
|
||||
|
||||
router
|
||||
.route('/users')
|
||||
.get((ctx) => {
|
||||
return new Response('GET /users');
|
||||
.route("/users")
|
||||
.get((req, ctx) => {
|
||||
return new Response("GET /users");
|
||||
})
|
||||
.post((ctx) => {
|
||||
return new Response('POST /users');
|
||||
.post((req, ctx) => {
|
||||
return new Response("POST /users");
|
||||
});
|
||||
|
||||
Deno.serve(router.handle)
|
||||
Deno.serve(router.handle);
|
||||
```
|
||||
|
||||
### Middleware
|
||||
|
||||
```ts
|
||||
...
|
||||
|
||||
@@ -37,6 +39,7 @@ router.use('/users', async (ctx, next) => {
|
||||
```
|
||||
|
||||
### Nested Routers
|
||||
|
||||
```ts
|
||||
...
|
||||
|
||||
@@ -56,3 +59,45 @@ router.use('/users', nestedRouter);
|
||||
...
|
||||
```
|
||||
|
||||
### Static Files
|
||||
|
||||
```ts
|
||||
...
|
||||
router.serveDirectory('dirname', '/url-root') // files from 'dirname' directory will be available at '/url-root/filename'
|
||||
|
||||
// To automatically locate index.html pages:
|
||||
router.serveDirectory('dirWithIndexHtml', '/indexes', {showIndex: true});
|
||||
// Will also generate an index if there is no index.html present in the directory
|
||||
...
|
||||
```
|
||||
|
||||
### File-based Routing
|
||||
|
||||
```ts
|
||||
import { FileRouter } from "@bearmetal/router";
|
||||
|
||||
const router = new FileRouter("dirname");
|
||||
Deno.listen(router.handle);
|
||||
|
||||
// dirname/index.ts - will be accessible at '/'
|
||||
export default function (req, ctx) {
|
||||
return new Response("Hello, world!");
|
||||
}
|
||||
|
||||
// dirname/methods.ts - will be accessible at '/methods'
|
||||
export const handlers = {
|
||||
get() {
|
||||
return new Response("Hello, world");
|
||||
},
|
||||
post(req, ctx) {
|
||||
const data = doDataOp(req.body);
|
||||
return new Response(data);
|
||||
},
|
||||
};
|
||||
|
||||
// dirname/nestedRouter.ts - will be accessible at '/nestedRouter'
|
||||
import { router } from "@bearmetal/router";
|
||||
|
||||
const router = new Router();
|
||||
export default router;
|
||||
```
|
||||
|
Reference in New Issue
Block a user