@jfrk/twig-loader
v1.1.0
Published
Webpack loader for compiling twig.js templates
Downloads
5
Readme
twig-loader
Webpack loader for compiling Twig.js templates. This loader will allow you to require Twig.js views to your code.
Installation
npm install @jfrk/twig-loader
Usage
module.exports = {
//...
module: {
rules: [
{
test: /\.twig$/,
loader: "twig-loader",
options: {
// See options section below
},
}
]
},
node: {
fs: "empty" // avoids error messages
}
};
Options
extender
: optional; the full path to a module which exports afunction(Twig)
which extends Twig (such as adding filters and functions). Must useexport default
instead ofmodule.exports
. Example:__dirname + "/src/extendTwig.js"
paths
: optional; an array of absolute paths that contain Twig templates. When this option is included, paths that doesn’t begin with a.
or/
inside tags like{% include %}
and{% extends %}
will be considered relative to one of these paths instead of the file. This mimics the PHP implementation of Twig.twigOptions
: optional; a map of options to be passed through to Twig. Example:{autoescape: true}
Loading templates
{# File: dialog.html.twig #}
<p>{{title}}</p>
// File: app.js
var template = require("./dialog.html.twig");
// => returns pre-compiled template as a function and automatically includes Twig.js to your project
var html = template({title: 'dialog title'});
// => Render the view with the given context
When you extend another view, it will also be added as a dependency. All twig functions that refer to additional templates are supported: import, include, extends & embed.