Package Exports
- dustc-commonjs
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (dustc-commonjs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
dustc-commonjs
Transforms a compiled Dust template into a CommonJS module.
Installation
npm install dustc-commonjs --save
Why?
Standard Dust modules compile down to JavaScript code that registers a compiled template function using a given template name and the compiled output assumes that there is a global dust
variable (globals are evil). By producing a CommonJS module as output the template can be loaded using the standard Node.js module loading system based on require
.
Usage
Given the following sample template:
Hello {name}!
And the following sample program:
var templatePath = require('path').join(__dirname, 'hello.dust');
require('dustc-commonjs').compileFile(templatePath, function(err, src) {
if (err) {
// Handle the error
return;
}
// src will be the compiled JavaScript code for the Dust template as a CommonJS module
})
The output compiled template will be similar to the following:
(function(){module.exports=body_0;function body_0(chk,ctx){return chk.write("Hello ").reference(ctx.get(["name"], false),ctx,"h").write("!");}return body_0;})();
Notice the usage of module.exports
.
In comparison, the standard compiled output (that is _not) a CommonJS module) will be similar to the following:
(function(){module.exports=body_0;function body_0(chk,ctx){return chk.write("Hello ").reference(ctx.get(["name"], false),ctx,"h").write("!");}return body_0;})();