node-handlebars-precompiler
Automatic compilation of your Handlebars templates.
Installation
npm install handlebars-precompiler
Usage
This is how you might use it in an Express project:
app.configure('development', function(){
hbsPrecompiler = require('handlebars-precompiler');
hbsPrecompiler.watchDir(
__dirname + "/views",
__dirname + "/public/javascripts/templates.js",
['handlebars', 'hbs']
);
});
In this example, we watch for changes to *.handlebars
and *.hbs
files in our views directory.
When changes are made, precompilation is run on all Handlebars templates and exported to a single minified
Javascript file.
On the browser side, you will need to deploy the Handlebars runtime-only release.
You could use the full release which includes a compiler, but your site will be faster if you don't.
Client-side versions of the templates will be named and stored in the Handlebars
object according to their file paths,
e.g. Handlebars.templates['users/show']
Reference
handlebars-precompiler.do(opts)
Compiles all of the Handlebars templates
Params:
-
opts
Options (object
)
-
opts.min
Whether or not to minify the files (boolean
)
-
opts.fileRegex
File regular expression to match (RegExp
)
-
opts.templates
Template directories to compile (string[]
)
-
opts.output
Output file name (string
)
-
opts.amd
Exports amd style (require.js) (boolean
)
-
opts.handlebarPath
Path to handlebar.js (only valid for amd-style) (string
)
-
opts.partial
Compiling a partial template (boolean
)
-
opts.commonjs
Exports CommonJS style, path to Handlebars module (string
)
handlebars-precompiler.watchDir(dir, outfile, extensions)
Compiles all of the Handlebars templates in the specified directory and monitors for changes.
Deprecated: This function is deprecated in favor of watch()
, which allows for more options.
Params:
-
dir
Directory with Handlebars templates (string
)
-
outfile
Output file name (string
)
-
extensions
An array of extensions of files (eg ['hbs']
) to compile as Handlebars templates (string[]
)
handlebars-precompiler.watch(dir, outfile, opts)
Compiles all of the Handlebars templates in the specified directory and monitors for changes.
Params:
Contributors
- Project created by Joel Wietelmann
- Nic Jansma
- Matt Null
- Brandon Paton
Version History