You are looking at documentation for an older release. Not what you want? See the current release documentation.
Mustache.js
is a popular JavaScript template engine. Mustache is written to be executed in several kinds of environment
as a global object, a CommonJS module, or as a native AMD module. If the "module",
"exports" dependencies are
available, Mustache will register it as a CommonJS module. It can be adapted to eXo Platform thanks to the adapter
format:
<module>
<name>mustache</name>
<script>
<adapter>
define(["require", "exports", "module"], function(require, exports, module) {
<include>/requirejs/js/plugins/mustache.js</include>
});
</adapter>
</script>
<depends>
<module>require</module>
</depends>
<depends>
<module>exports</module>
</depends>
<depends>
<module>module</module>
</depends>
</module>
Use the
adapter
tag here and declare the require,
exports
and
module
dependencies of the
CommonJS
module. Now any module can have Mustache instance injected just by declaring it in its dependencies list:
<module>
<name>foo</name>
...
<depends>
<module>mustache</module>
</depends>
</module>
(function(mustache){
//code that use Mustache
mustache.render(template);
})(mustache);