Easy way to work with frontend files (such as html, css, js) via node.js

npm install frontender
12 downloads in the last month


This is just a binding for popular compiling extensions for frontend (like stylus or jade) with some additional functionality (like caching).


Just add frontender into your packages.json and write something like this in your code.

var Frontender = require("./frontender/frontender");
Frontender.basedir = "./javascripts/";
Frontender.requireModule("uglify", { compress: true });
Frontender.compile("editor.js", function (code) {
  console.log("Compiled code: + " + code);


Since it's just a binding you have to add modules dependencies by yourself (good news: you shouldn't require them). Each module has his own specific options but there are some globals.

  • basedir (default: frontenders basedir) - basedir for file searching
  • cache (default: false) - if cache files


The UglifyJS module for .js files. This module not only collects and compresses them but also adds require function similar to node.js (with namespacing and module.exports).

  • compress (default: false) - if compress output
  • comments (default: true) - if keep comments

Requirement: uglify-js 2.x


Simple Stylus module for .styl and .stylus files.

Requirement: stylus >= 0.31.0


Jade is available both client and server side and module is suitable for both options.

  • compress (default: false) - if compress output
  • raw (default: false) - if return raw file (function will be returned otherwise)

Requirement: jade >= 0.28.0 (for raw === false only)

npm loves you