egg-view-ejs

    2.0.1 • Public • Published

    egg-view-ejs

    NPM version build status Test coverage David deps Known Vulnerabilities npm download

    egg view plugin for ejs.

    Install

    $ npm i egg-view-ejs --save

    Usage

    // {app_root}/config/plugin.js
    exports.ejs = {
      enable: true,
      package: 'egg-view-ejs',
    };
     
    // {app_root}/config/config.default.js
    exports.view = {
      mapping: {
        '.ejs': 'ejs',
      },
    };
     
    // ejs config
    exports.ejs = {};

    Create a ejs file

    // app/view/hello.ejs
    hello <%= data %>

    Render it

    // app/controller/render.js
    exports.ejs = async ctx => {
      await ctx.render('hello.ejs', {
        data: 'world',
      });
    };

    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.js
    exports.ejs = async ctx => {
      const locals = {
        data: 'world',
      };
     
      const viewOptions = {
        layout: 'layout.ejs'
      };
     
      await ctx.render('hello.ejs', locals, viewOptions);
    };

    Configuration

    see config/config.default.js for more detail.

    Questions & Suggestions

    Please open an issue here.

    License

    MIT

    Install

    npm i egg-view-ejs

    DownloadsWeekly Downloads

    2,269

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    8.33 kB

    Total Files

    8

    Last publish

    Collaborators

    • atian25
    • cycok
    • dead_horse
    • dead-horse
    • fengmk2
    • popomore