Express FileSystem Router
Straightforward filesystem routing utility for Express. Inspiration drawn from micro
Getting Started
Install
yarn add express-fs-router
Create sample endpoint
// api/index.js { res}
Add to Express application
// app.jsconst app = app app
Features
HTTP Methods & Named Function Default Exports
To specify a supported method on a route add a named function default export:
// api/get.js// sample GET route { res}
// api/post.js// sample POST route { res}
By default anonymous functions or named functions that are not one of the supported request methods are assumed to support ALL methods. In short, said functions are added to the Express router as:
routerallroute handler
Middleware
To apply middleware to the route's handler, export an array of functions in the order of execution:
// api/middleware.js { console } { res} myMiddleware get
Methods Routing
This package allows defining multiple supported HTTP methods per route with file-system methods routing:
|- api/ |- methods/ |- :get.js |- :post.js
Specifying Globally Supported Request Methods
FSRouter accepts an options
argument:
'api' methods: 'POST'
By specifying only the POST method, all anonymous functions will assume the supported method as POST. However, specifying ALL
in the option.methods
will trump all other supplied methods and assign to the router as router.all(route, handler)
.