1.0.1 • Published 4 years ago

exruxt v1.0.1

Weekly downloads
4
License
ISC
Repository
github
Last release
4 years ago

Exruxt

A Nuxt like router for Express, supports JavaScript & TypeScripts terminations.

NPM

install

npm install exruxt

Usage

Arouter will generate the routes based on your file tree inside the routes directory.

const express = require('express')
const exruxt = require('exruxt')

const app = express()

app.use(exruxt('routes'))

app.listen(8080)

Basic routes

This file tree:

routes/
--| user/
-----| index.js
-----| one.js
--| index.js

will automatically generate:

  • /
  • /user
  • /user/one

Dynamic routes

To define a dynamic route with a parameter, you need to define a JavaScript file OR a directory prefixed by an underscore.

This file tree:

routes/
--| _slug/
-----| comments.js
-----| index.js
--| users/
-----| _id.js
--| index.js

will automatically generate:

  • /
  • /users/:id
  • /:slug
  • /:slug/comments

Note: For dynamic routes to work properly, you must use the mergeParams: truejavascript option when calling the express.Router function

const router = require('express').Router({ mergeParams: true });

router.get('/', (req, res) => {
	res.send(req.params.slug);
});

module.exports = router;