DOMBars precompiler plugin for Browserify


DOMBars pre-compilation plugin for Browserify. Compiles DOMBars/Handlebars templates into plain JavaScript. All compiled templates include only the DOMBars runtime and the precompiled template, so they are several factors faster and lightweight than including and parsing the original template.

Install dombarsify locally to your project.

npm install dombarsify

DOMBars will be installed automatically as a peer dependency, which allows for finer grain control over versioning. You can now use it as a transform with your module.

browserify -t dombarsify main.js -o bundle.js

To require a template within main.js, you can simply require the file itself.

var template = require('./template.hbs');
document.body.appendChild(template({ user: 'blakeembrey' }));

The template file, be default, can use .hbs, .handlebars, .dom or .dombars extensions. The template itself is just regular text.

<p>Welcome back, {{user}}</p>

Using another unhandled extension? Just add it to the extensions object on the main function.

var dombarsify = require('dombarsify');
dombarsify.extensions.html = true;

To register a custom helper function, just require the DOMBars runtime and use registerHelper as your normally would.

var dombars = require('dombars/runtime');
dombars.registerHelper('upper', function (string) {
  return string.toUpperCase();

Partials can be included by passing a precompiled template to the registerPartial function.

var dombars = require('dombars/runtime');
dombars.registerPartial('button', require('./button.hbs'));