Giter VIP home page Giter VIP logo

backnode's Introduction

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.

backnode's People

Contributors

mklabs avatar

Watchers

Branko Vukmirovic avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.