handlebars-precompiler
v2.1.0
Published
Handlebars precompiler node module
Downloads
8
Readme
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:
dir
Directory with Handlebars templates (string
)outfile
Output file name (string
)opts
Options (object
)opts.extensions
An array of extensions of files (eg['hbs']
) to compile as Handlebars templates (takes precedence over fileRegex) (string[]
)opts.pollInterval
Interval in milliseconds at which files are polled for changes (default: 500) (number
)opts.fileRegex
A regular expression of the files to compile as Handlebars templates (instead of using .extensions) (RegExp
)opts.min
Whether or not to minify the files (default: true) (boolean
)opts.silent
Silence console output (default: false) (boolean
)opts.amd
Exports amd style (require.js) (default: false) (boolean
)opts.handlebarPath
Path to handlebar.js (only valid for amd-style) (default: '') (string
)opts.partial
Compiling a partial template (default: false) (boolean
)opts.commonjs
Exports CommonJS style, path to Handlebars module (default: false) (string
)
Contributors
- Project created by Joel Wietelmann
- Nic Jansma
- Matt Null
- Brandon Paton
Version History
- v2.1.0 - Export the templates for commonJS, Fix opts.partial
- v2.0.0 - Upgraded to Handlebars v2.0.0 which is not compatible with v1.x
- v1.0.6 -
pollInterval
was harcoded to 100 - v1.0.5 - Use
watch
module to detect file and tree changes - v1.0.4 - Fixed issue with temp files crashing precompiler