Skip to content

SergioDonati/express-routing-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Express Routing App

Helper for routing Express applications.

Install

This module require node >= 6.5.0 because is written with the last ECMAScript 6 features, so firstly check your version.

$ npm install express-routing-app --save

Example

/index.js
const express = require('express');
const app = express();
const RoutingApp = require('express-routing-app');

const routingApp = new RoutingApp({
	root: __dirname,
	models: {
		User: ...
	}
});

app.use(routingApp.Router(__dirname+'/router/index', { message: 'Hello' }));

app.listen(3000);
/router/index.js
module.exports = function(router, routingApp, args){

	router.get('/', function(req, res, next){
		res.render('index', { message: args.message });
	});

	router.use('/user', routingApp.Route(__dirname+'/user'));
}
/router/user.js
module.exports = function(router, routingApp){

	const {User} = routingApp.models;

	router.get('/', function(req, res, next){
		User.find({}, function(err, users){
			res.render('users', { users: users });
		});
	});
}

How work

Instantiate the class passing all variables, methods or other stuff to constructor:

const RoutingApp = require('express-routing-app');
const routingApp = new RoutingApp({
	root: __dirname,
	myFun: function(){ ... }
	models: {
		User: ...
	}
});

now you can call Router method passing the absolute path of the file that defining your router, optionally you can pass also your parameters.
The method Router return a new express router

app.use(routingApp.Router(absoluteFilePath, ...yourParameters));

the passed file can export an express router or export a function with the follow format

module.exports = function (router, routingApp, ...yourParameters){
	...
}
  • router is the new express router, use it for implement your logic
  • routingApp is the routingApp instance that call this file, use it for access to all your application stuff or call nested Router
  • yourParameters spread parameters that you pass when call Router

Credits

License

MIT

Copyright (c) 2016 Sergio Donati

About

Helper for routing express applications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published