egg-view-ejs
egg view plugin for ejs.
Install
$ npm i egg-view-ejs --save
Usage
// {app_root}/config/plugin.jsexportsejs = enable: true package: 'egg-view-ejs'; // {app_root}/config/config.default.jsexportsview = mapping: '.ejs': 'ejs' ; // ejs configexportsejs = {};
Create a ejs file
// app/view/hello.ejshello <%= data %>
Render it
// app/controller/render.jsexportsejs = async { await ctx;};
The file will be compiled and cached, you can change config.ejs.cache = false
to disable cache, it's disable in local env by default.
Include
You can include both relative and absolute file.
Relative file is resolve from current file path.
// app/view/a.ejs include app/view/b.ejs<% include b.ejs %>
Absolute file is resolve from app/view
.
// app/view/home.ejs include app/view/partial/menu.ejs<% include /partial/menu.ejs %>
Layout
You can render a view with layout also:
// app/view/layout.ejs <%- body%> // app/controller/render.jsexportsejs = async { const locals = data: 'world' ; const viewOptions = layout: 'layout.ejs' ; await ctx;};
Configuration
see config/config.default.js for more detail.
Questions & Suggestions
Please open an issue here.