toa-mejs
Mejs render module for toa, it is available for koa.
toa
Mejs -- Moduled and Embedded JavaScript templates
Example
const Toa = const toaMejs = const app = app app
Or you can checkout the example.
Installation
npm install toa-mejs
API
const toaMejs =
toaMejs(app, pattern, options)
It will add render
method to context
.
pattern
: Glob pattern to read template files.options.layout
: global layout template name, default isundefined
.options.locals
: global locals, can be function type,this
in the function is toa'scontext
.options.writeResp
: Write template to response body, default istrue
.options.glob
: Glob optionsoptions.base
: Everything before a glob (same as tplName) starts, default is''
.options.delimiter
: Character to use with angle brackets for open/close, default is%
.options.rmWhitespace
: Remove all safe-to-remove whitespace, including leading and trailing whitespace. It also enables a safer version of-%>
line slurping for all scriptlet tags (it does not strip new lines of tags in the middle of a line).
context.render(viewName, [data])
It is a synchronization function. return template string that filled with data.
data.layout
: layout template name, default isundefined
, setfalse
to disable global layout.data.writeResp
: Write template to response body, default istrue
.- ...
this
this
Layouts
toa-mejs
support layout. no default layout, if you want to use default layout template, use options.layout
. Also you can specify layout by data.layout
in this.render
.
Also you can set layout = false;
to close layout.
toa mejs toa mejs <%- it.body %>
Include
support mejs default include.
<%- include('user/show', {user: user}); %>
Locals
pass gobal locals by options.locals
, locals can be functions that can be called in mejs templates.
const locals = version: 'v1.0.0' { return } { return this__ // toa-i18n's `__` method. }
License
The MIT License (MIT)