dust loader module for webpack
JavaScript
natedanner and avaly Pass root dir through path.normalize so provided rootDir path separat…
…ors provided will work on the platform the loader is executing in.
Latest commit edb3870 May 26, 2017
Permalink
Failed to load latest commit information.
tests
tools Upgrade dependencies, add Travis Mar 9, 2017
.editorconfig
.eslintrc.js
.gitignore
.travis.yml
LICENSE Upgrade dependencies, add Travis Mar 9, 2017
README.md
index.js
package.json
yarn.lock Upgrade dependencies, add Travis Mar 9, 2017

README.md

dust loader for webpack

Travis

Compiles dust templates and exports the compiled functions, allowing for rendering of the templates in a browser environment.

Usage

Documentation: Using loaders

var template = require('dust!./file.dust');
// => returns file.dust compiled as template function

Recommended config

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
    }
  }
}

rootDir

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'
    }
  }
}

Rendering a template

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
});

License

MIT (http://www.opensource.org/licenses/mit-license.php)