Skip to content

shanggqm/multi-mustache-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi Mustache loader for webpack

NPM version NPM downloads total NPM license Build Status bitHound Overalll Score Dependency Status devDependency Status

Compiles Mustache templates with Hogan and optionally html-minifier. Support both single template file and multi template file.

the multi template file should only write as below:

<script type="template/text" id="tmp-multi-a"></script>
<script type="template/text" id="tmp-multi-b"></script>

Install

$ npm i multi-mustache-loader

Usage

module: {
    loaders: [ {
        test: /\.html$/,
        loader: 'multi-mustache'
        // loader: 'multi-mustache?minify'
        // loader: 'multi-mustache?{ minify: { removeComments: false } }'
        // loader: 'multi-mustache?noShortcut'
    } ]
}

one file one template

template.html

<ul>
{{#user}}
<li>{{name}}</li>
{{/user}}
</ul>
var template = require('./template.html');
var html = template({ foo: 'bar' });

one file more than one template

multi-template.html

<script type="template/text" id="tmp-name">
	<span>{{name}}</span>
</script>
<script type="template/text" id="tmp-post">
	<span>{{post}}</span>
</script>
var template = require('./multi-template.html');
var htmlName = template['tmp-name']({ name: 'multi-mustache-loader' });
var htmlPost = template['tmp-post']({post:'hello multi-mustache-loader!'});

If noShortcut is passed, then Hogan compiled template is returned instead, so you can pass it as partial.

var template = require('./template.html');
var template2 = require('./template2.html');
var html = template({ foo: 'bar' }, {partial: template2});

Documentation: Using loaders.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published