node package manager



Stache is mustache.js for your node express apps.



Getting this junk running is SUPER easy! check the deets below...

setting it up


npm install stache

Now, when you're configuring your express app, just add this little code in somewhere near the top:

app.set('view engine', 'mustache')
app.register(".mustache", require('stache'));

BOOOM! you're all set!

how to actually use it

render your views with res.render...

app.get('/', function (req, res) {
  res.render("index", {
    locals: {
      title: req.params.what
    partials: {
      heading: '<title>{{title}}</title>'

Notice you can pass local vars here as well as partials to your templates.

You can also use helpers to pass mustache dynamic content!

// helpers 
  three: function(){
    return 1 + 2;
// dynamicHelpers 
  page: function(req, res){
    return req.url;

Reference these just like you would locals:

You are currently viewing: {{page}}


Stache supports layouts! swaggg! Which means you can have something like this:

<!-- layout.mustache -->

Note: yield is a special local var, which will be replaced automatically by the template you specified with res.render. Alternatively you can use the keyword body.


Looking at the example above, check out that partial reference for scripts!! If when calling your res.render method you don't explicitly specify a script partial, stache will automatically check your views directory for a script.mustache to load as a partial. Pretty boss huh?

What? I still don't get it...

No worries player, check the examples folder for a fully functional example.


major props to donpark (hbs), bitdrift, and obviously mustache.js