Skip to content

mklabs/backnode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backnode

Experiment on making Backbone usable in Node.

Express inspired web development framework, built on Backbone and Connect.

Synopsis

var app = backnode();

var Router = backnode.Router.extend({
  routes: {
    '/basic'                  : 'basic',
    '/json'                   : 'json',
    'GET /verb'               : 'verb',
    'POST /verb'              : 'post',
    '/param/:param'           : 'param',
    '/pipe'                   : 'pipe'
  },

  // res is always last argument and is the response object,
  // wrapping req and next to hook into middleware logic and
  // eventually end the response.
  basic: function basic(res) {
    res.end('basic!');
  },

  json: function foo(res) {
    res.json({ message: '' });
  },

  verb: function verb(res) {
    res.end('verb!');
  },

  post: function post(res) {
    res.end('post!');
  },

  param: function param(value, res) {
    res.end(value + '!');
  },

  render: function render(res) {
    res.render('index', { foo: 'bar' });
  },

  view: function view(res) {
    new backnode.View({ id: 'index.html' }).render(function(e, str) {
      if(e) return res.next();
      res.end(str);
    });
  },

  pipe: function pipe(res) {
    new backnode.View({ id: 'index.html' }).pipe(res);
  },

  model: function model() {
    var model = new backnode.Model({ name: 'backnode' });
    new backnode.View({ id: 'index.html', model: model }).pipe(res);
  }
});

var app = backnode()
  .use(backnode.favicon())
  .use(backnode.logger('dev'))
  .use(backnode.static('public'))
  .use(backnode.directory('public'))
  .use(backnode.cookieParser('my secret here'))
  .use(backnode.session())
  .use(new Router)
  .use('/subpath', new Router)

app.listen(3000);

Installation

$ npm install backnode

Tests

Build Status

$ npm test

It'll run every assertion test/test-*.js files.

About

Express inspired web development framework, built on Backbone and Connect -- experimental

Resources

Stars

Watchers

Forks

Packages

No packages published