Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Webpack loader for compiling Twig.js templates

License

NotificationsYou must be signed in to change notification settings

zimmo-be/twig-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webpack loader for compiling Twig.js templates. This loader will allow you to require Twig.js views to your code.

Installation

npm install twig-loader

Usage

Webpack 2 and later

Documentation: Using loaders

module.exports={//...module:{rules:[{test:/\.twig$/,use:{loader:'twig-loader',options:{// See options section below},}}]},node:{fs:"empty"// avoids error messages}};

Webpack 1

Documentation: Using loaders

module.exports={//...module:{rules:[{test:/\.twig$/,loader:"twig-loader",options:{// See options section below},}]},node:{fs:"empty"// avoids error messages}};

Options

  • 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.jsvartemplate=require("dialog.html.twig");// => returns pre-compiled template as a function and automatically includes Twig.js to your projectvarhtml=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.

Dynamic templates and registering at runtime

twig-loader will only resolve static paths in your templates, according to your webpack configuration.When you want to use dynamic templates or aliases, they cannot be resolved by webpack, and will beleft untouched in your template. It is up to you to make sure those templates are available in Twigat runtime by registering them yourself:

vartwig=require('twig').twigtwig({id:'your-custom-template-id,data: '<p>yourtemplatehere</p>',allowInlineIncludes:true,rethrow:true});

Or more advanced when usingwebpack.context:

vartwig=require('twig').twigvarcontext=require.context('./templates/',true,/\.twig$/)context.keys().forEach(key=>{vartemplate=context(key);twig({id:key,// key will be relative from `./templates/`data:template.tokens,// tokens are exported on the template functionallowInlineIncludes:true,rethrow:true});});

Changelog

0.4.1 / 2018-06-12

  • Upgrade mocha to fix security vulnerability warning

0.4.0 / 2018-05-17

  • Add ablity to pass options to twig (PR #39)

0.3.1 / 2017-11-08

  • Update to Twig.js 1.10, fixes #29

0.3.0 / 2017-02-19

  • replace full path with a hash and implement mapcache for id/path resolution, fixes #12

0.2.4 / 2016-12-29

0.2.3 / 2016-06-11

  • Improve watch operation (rebuilding of modules)
  • Refactoring so compiler and the loader are in seperate modules
  • Add Twig as peer dependency

0.2.2 / 2016-06-03

  • Addembed support
  • Update Twig.js version

0.2.1 / 2016-04-18

  • Improveimport support (#8)
  • Rethrow exceptions when they occur during rendering to improve testing

0.2.0 / 2016-01-21

  • Add support for import statements (useful for Macro's)
  • Correctly resolve dependencies from include/import/extend statements with relative path support: [#3] and [#5]
  • CHANGE: No longer add the.twig file extension. After upgrading twig-loader, you may need to update your files and add.twig manually

About

Webpack loader for compiling Twig.js templates

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp