1.3.1 • Published 7 years ago

reverse-route v1.3.1

Weekly downloads
2
License
-
Repository
github
Last release
7 years ago

reverse-route

ReverseRoute module for Express

NPM Version NPM Downloads Coverage Status Build Status

Installation

$ npm install reverse-route

Basic

var express = require('express'),
	reverseRoute = require('reverse-route'),
	app = express();

// use reverse-route - basic
reverseRoute(app);

app._route('user', '/user/:id').get(function(req, res, next) {
	// ... get user
});
<a href="{{ _url('user', { id: 'me' }) }}">My profile</a>

Customize

reverseRoute(app, function(params, req) {
	params.locale = i18n.getLocale(req);

	return params;
});

Methods

app._route(alias, path)

app._route('signin', '/signin').get(function(req, res, next) {
	// render signin page
}).post(function(req, res, next) {
	// handle signin request
});

.app._VERB(alias, path, callback..., callback)

Support GET, POST, PUT, DELETE, HEAD, TRACE, OPTIONS, CONNECT, and PATCH.

app._get('home', '/', function(req, res, next) {
	// ...
});

app._route.add(alias, sets)

Support alias with defined parameter sets

app._route.add('static', {
	about: {
		id: 'about'
	},
	term: {
		id: 'term'
	}
});

app._route('static', '/page/:id').get(function(req, res, next) {
	// render static page
});
<a href="{{ _url('static', 'about') }}">About us</a><br>
<a href="{{ _url('static', 'term') }}">Terms & Conditions</a>

app._route.remove(alias, setname)

Remove a defined parameter sets

app._route.remove('static', 'term');

Redirect

res._redirect(alias, setname, params)

function redirectToHomePage(req, res, next) {
	// res._redirect(alias)
	res._redirect('home');
}

function redirectToProfilePage(req, res, next) {
	// res._redirect(alias, params)
	res._redirect('user', {
		id: 'me'
	});
}

function redirectToAboutPage(req, res, next) {
	// res._redirect(alias, setname)
	res._redirect('static', 'about');
}

function redirectToAboutPageInAnotherLanguage(req, res, next) {
	// res._redirect(alias, setname, params)
	res._redirect('static', 'about', {
		lang: 'vi'
	});
}

Helper

_url(alias, setname, params)

Accept same arguments as res._redirect(). Use to generate URL in HTML template

<a href="{{ _url('home') }}">Home page</a> <!-- URL: / -->
<a href="{{ _url('user', { id: 'me' }) }}">My profile</a> <!-- URL: /user/me -->
<a href="{{ _url('static', 'about') }}">About us</a> <!-- URL: /page/about  -->
<a href="{{ _url('static', 'about', { lang: 'vi' }) }}">About us in Vietnamese</a> <!-- URL: /page/about?lang=vi -->

Tests

$ npm install
$ npm test

License

The MIT License

1.3.1

7 years ago

1.3.0

9 years ago

1.2.7

9 years ago

1.2.6

10 years ago

1.2.5

10 years ago

1.2.4

10 years ago

1.2.3

10 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago