Skip to content

fex-team/yog-bigpipe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yog-bigpipe

Build Status Coverage Status

An express.js middleware for fis widget pipline output.

This middleware is bundled in yog.

With yog you can simple use the pagelet like this.

{% extends './layout.tpl' %}

{% block content %}
    {% widget "./pagelets/jumbotron/jumbotron.tpl" id="jumbotron" mode="async" %}
{% endblock %}

And in your controller, you can assign async data like this.

router.get('/', function(req, res) {

    // pagelet Id
    res.bigpipe.bind('jumbotron', function(setter) {

        // simulate an async progress
        setTimeout(function() {
            
            // now set data to the pagelet
            setter(null, {
                asyncData: 'xxx'
            });
        }, 2000);
    });

    res.render('page/index.tpl');
});

Then the jumbotron content will be rendered in chunk mode.