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.
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.
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);
- Not to be confused with the real definition of a Metalanguage.