requirejs-mustache-loader
Load Mustache templates dynamically, compile during build and auto resolve partials
The biggest itch while working with Mustache (and many other front-end template engines) is the need to statically declare partials when rendering a template. Adding a partial in some template requires that you also import it to your JavaScript module and declare it as a partial.
With this plugin for RequireJS none of that is necessary, instead, this is possible:
{{! index.mustache }}Hello {{> ./name.mustache }}!
{{! name.mustache }}<strong>{{ name }}</strong>
// app.js;
Installation
The package can be installed via npm and Bower.
$ npm install --save requirejs-mustache-loader
$ bower install requirejs-mustache-loader
Resolving file names
For resolving file paths, a method called resolve
, can be supplied using require.config
. The resolve
method is called when transforming partial names as defined in templates to a file path.
require;
Member properties
Apart from just the render method, also the bare template string and all partials are exposed to the template function.
;
Regarding peer dependencies
This plugin depends on the RequireJS text plugin available under the text
namespace and mustache available under the mustache
namespace. I.e. this should resolve just fine:
require(['text', 'mustache']);
License
MIT