1.0.5 • Published 9 years ago

named-routing-system v1.0.5

Weekly downloads
3
License
ISC
Repository
github
Last release
9 years ago

Named Routing System

Another named routing system for express.js. This system is inspired by Django's.

Features

  • Prevents url hard-coding
  • Clean and user friendly URL Mapping
  • Works in both middlewares and templates
  • Lightweight module without dependencies

Install

npm install named-routing-system

Usage

Configuration

// app.js

var urlMapping = require('named-routing-system');
var routing = require('./url');
urlMapping(routing.url_collection, app);

URL generation

// url.js

var home = require('./routes/home');
var user = require('./routes/user');

exports.url_collection = [
    { pattern: '/', view: home.index, name: 'home.index' },
    { pattern: '/user', view: user.collection, name: 'user.collection' },
    { pattern: '/user/:id', view: user.display, name: 'user.display', methods: ['get'] },
    { pattern: '/user/:id', view: user.update, name: 'user.update', methods: ['post'] },
    ...
];

Middleware files

//routes/home.js

exports.index = function(req, res) {
    res.render('home');
};

Template files

//views/home.jade

a(href="#{url('user')}") User Collection
a(href="#{url('user.display', { id: 'user_id' })}") Display User Profile
1.0.5

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago