Skip to content

eggjs/egg-spark

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

egg-spark

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

Streaming rendering plugin for eggjs.

Install

$ npm i egg-spark --save

Usage

// {app_root}/config/plugin.js
exports.spark = {
  enable: true,
  package: 'egg-spark',
};

Example

    // {app_root}/controller/admin.js
    module.exports = app => class AdminController extends app.Controller {
      async index() {
        // Call the spark.render method and pass in the path of the template to be rendered 
        this.ctx.spark.render('admin/index.nj', {
          // regList is a regular list used to split pages. According to the length of regList, the page is split into regList.length+1 
          regList: [/<!--\s*?spark:split\s*?-->/],
          // dataList:According to the page blocks segmented by regList, the data required by the corresponding rendering template is passed in. 
          // You can pass in a data object, or you can pass in a synchronous or asynchronous data method 
          dataList: [
            mergerCommonContext({}, this.ctx),
            async () => getPageData.call(this),
          ],
        });
    
        async function getPageData() {
          const { id, ...others } = this.ctx.query || {};
          const userInfo = await this.service.getUserInfo(id);
          // Your Business logic 
          const pageData = {
            userInfo,
            ...others
          };
          return mergerCommonContext({ pageData }, this.ctx);
        }
      }
    };

Questions & Suggestions

Please open an issue here.

License

MIT

About

Streaming rendering plugin for eggjs.

Resources

License

Stars

Watchers

Forks

Packages

No packages published