Quantcast
Viewing all articles
Browse latest Browse all 37

Epitome now available as npm and under CommonJS

Just a quick update, Epitome now supports nodejs.

Here’s an example creating a server via express and socket.io with a collection and a model that can be shared on the client as well:

#!/usr/bin/env node
'use strict';

var express = require('express'),
    app = express(),
    http = require('http'),
    server = http.createServer(app),
    io = require('socket.io').listen(server);

// load mootools globals and extend protos
require('mootools');

io.set('log level', 1); // disable debug from socket.io

// example server root at dist.
app.use(express.static('./dist'));

server.listen(3333);

// use some epitome models and collections
var epitome = require('epitome'),
    Model = epitome.Model,
    Collection = epitome.Collection;

var User = new Class({
    Extends: Model,
    options: {
        defaults: {
            title: 'Mr.'
        }
    }
});

var Users = new Class({
    Extends: Collection,
    model: User
});

var users = new Users([{
    name: 'Bob',
    surname: 'Roberts'
}]);

// example adds to collection when a data:add message arrives from client
io.on('connection', function(socket){
    socket.on('data:add', function(model){
        users.addModel(model);
        console.log('added new model', model);
    });

    socket.emit('data', users.toJSON());
});

To get this to work, you need to install a few npms first

$ npm install mootools express socket.io epitome

Viewing all articles
Browse latest Browse all 37

Trending Articles