@jfrk/twig-loader

1.1.0 • Public • Published

twig-loader Build Status

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

Documentation: Using loaders

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 a function(Twig) which extends Twig (such as adding filters and functions). Must use export default instead of module.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.

Readme

Keywords

none

Package Sidebar

Install

npm i @jfrk/twig-loader

Weekly Downloads

0

Version

1.1.0

License

MIT

Unpacked Size

16.5 kB

Total Files

30

Last publish

Collaborators

  • jeanfredrik