0.1.3 • Published 12 years ago

express-pagelet v0.1.3

Weekly downloads
17
License
-
Repository
github
Last release
12 years ago

express-pagelet

  1. Configure the middleware for express:

    app.use(require('express-pagelet').createMiddleware({
      pageletDirectory: path.join(__dirname, 'pagelets')
    }));
  2. Define a pagelet, e.g. in pagelets/foo.js:

    var FooPagelet = module.exports = function() {};
    
    FooPagelet.prototype.load = function(opts, ready) {
    
      this.page = opts.page || 1;
      // load from db etc.
      ready();
    };
    
    FooPagelet.prototype.render = function(req, res, done) {
      return res.render('pagelet/foo.jade', { heading: 'Foo pagelet', content: 'Some more content...', page: this.page }, done);
    };
  3. Example view-file in views/pagelet/foo.jade:

    h2= heading
    p= content
    p
      strong= page
  4. In your route-handler add pagelets, either lazy loading (async: true) or rendering as part of the request:

    exports.index = function(req, res) {
      res.addPagelet('foo', { async: true }); // type defaults to the name of pagelet
      res.addPagelet('bar', { type: 'foo' });
    
      res.renderWithPagelets('index', { title: 'Express' });
    };
  5. The pagelets are available in your views as locals:

    !{pagelet_foo}
    !{pagelet_bar}