Compiles dust templates and exports the compiled functions, allowing for rendering of the templates in a browser environment.
var template = require('dust!./file.dust');
// => returns file.dust compiled as template function
module.exports = {
module: {
loaders: [
{
test: /\.dust$/,
loader: 'dust-loader'
}
]
},
plugins: [
new webpack.ProvidePlugin({
dust: 'dustjs-linkedin'
})
],
};
Then you only need to write: require('./file.dust')
You can also preserve the whitespace in your template with the following loader config:
{
test: /\.dust$/,
use: {
loader: 'dust-loader',
options: 'preserveWhitespace'
}
}
or
{
test: /\.dust$/,
use: {
loader: 'dust-loader',
options: {
preserveWhitespace: true
}
}
}
Sets the root directory for your dust templates. The rootDir string will be removed from the beginning of the dust module path before it is turned into the template name.
{
test: /\.dust$/,
use: {
loader: 'dust-loader',
options: {
rootDir: 'src/app/templates'
}
}
}
You will need to bundle the dust core in your pack in order to render the compiled templates.
var tpl = require('./views/foo/bar.tpl');
// with dust <= 2.6
dust.render('views/foo/bar', context, function(err, result){
// result holds the rendered HTML code
});
// with dust >= 2.7
dust.render(tpl, context, function(err, result){
// result holds the rendered HTML code
});