/metaserve

compile & serve metalanguage assets

Primary LanguageJavaScript

metaserve

metaserve makes web application prototyping quicker by compiling and serving assets built with meta-languages[1] such as CoffeeScript, Jade, or Styl (currently the full list).

Use as a command or as a module to handle requests such as http://localhost:8550/js/events.js by run-time-compiling the CoffeeScript source ./static/js/events.coffee into Javascript and serving it to the browser. Somewhat similar to but less robust/contrived than Rails Asset Pipeline.

As a command

Install with npm install -g metaserve

Use within a directory that has a bunch of .jade, .sass and .coffee. Run metaserve with optional arguments --host and --port. Defaults to 0.0.0.0:8000.

As a module

Install with npm install metaserve

Use by supplying a base directory, then hooking it in as Express/Connect middleware...

var metaserve = require('metaserve');
var express = require('express');

app = express();

app.use(app.router);
app.use(metaserve('./static'));

app.get('/dogs', function(req, res) {
    return res.end('woof');
});

app.listen(8550);

... or as a fallback in a standard http server:

var http = require('http');
var metaserve = require('metaserve')('./static');

var server = http.createServer(function(req, res) {
    if (req.url === '/dogs') {
        return res.end('woof');
    } else {
        return metaserve(req, res);
    }
});

server.listen(8550);

Supported Languages


Notes

  1. Not to be confused with the real definition of a Metalanguage.