swig-loader

2.1.0 • Public • Published

Webpack Swig loader

Travis build status dependencies Coverage Status

NPM info

Webpack loader for swig templates.

How to use

Webpack configuration

You can define swig loader using webpack configuration.

{
  module: {
    loaders: [
      { test: /\.swig$/, loader: "swig-loader" }
    ]
  }
};

Require parameter

You can load swig template using require parameter.

var template = require('swig!./template.swig');

Passing swig options

You can pass swig options to the loader using swigLoader.options({ ... }) or loader query parameters. If you choose loader query parameters take a look at query webpack standard query format.

// Option #1 - Swig loader global options
var swigLoader = require('swig-loader');
swigLoader.options({
  varControls: ['{:', ':}']
});
 
// Option #2 - Swig loader query parameters
var swigLoader = require('swig?varControls[]={:&varControls[]=:}!./template.swig');

Passing template parameters

You can pass template parameters to the loader using resource query parameters. If you need to pass some parameters take a look at query webpack standard query format.

var swigLoader = require('swig!./template.swig?username=John');

Customizers

You can customize query, resourceQuery and result using customizers:

var swigLoader = require('swig-loader');
 
swigLoader.queryCustomizer(function(query, templatepath) {
    // modify query
});
 
swigLoader.resourceQueryCustomizer(function(resourceQuery, templatepath) {
    // modify resource query
});
 
swigLoader.resultCustomizer(function(query, templatepath, resourceQuery, query) {
    // modify result and don't forget to return it!
    return result;
});

Dependencies (2)

Dev Dependencies (18)

Package Sidebar

Install

npm i swig-loader

Weekly Downloads

3

Version

2.1.0

License

MIT

Last publish

Collaborators

  • mendlik