hogan-middleware
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Middleware component to use Hogan.js mustache templates as views in an Express server
hogan-middleware
================

Middleware component to use Hogan.js mustache templates as views in an Express server

Usage
=====

    var app = express();

    app.configure(function () {
      app.set('views', __dirname + '/views'); // tell express which directory your views are in
      app.set('view engine', 'mustache');     // name your templates
      app.engine('mustache', require('hogan-middleware').__express); // register the engine
    });

Once registered, your routing in express can use a mustache file name as the view to be rendered:

    app.get('/', req, res, next) {
      res.render('home', { SiteName: 'My Website' });
    }

In this case there is a file named `home.mustache` in the `views` directory that may have content as:

    
    
      Hello World
      
        

{{SiteName}}

Configuration ============= Optional functionality in the middleware can be set before passing it into express: ``` var hoganMiddleware = require('hogan-middleware'); hoganMiddleware({ filter: ['**.mustache'], // override the default file extension searched for // default is just the mustache file extension flatten: true, // make all partials available with just their file name // rather than the slash delimited path. default is enabled watch: true // set to false to remove the live updating watchers - // can be useful for running in production where files // will not be regularly changing. }); app.engine('mustache', hoganMiddleware.__express); ``` Partial Templates ================= Mustache allows the use of partial templates, this is supported by the middleware component by making all templates available as partial templates when rendering a template. When `home.mustache` is being used as the name of the template to be rendered, that can include `a.mustache` from the views directory by adding `{{>a}}`. As `a.mustache` is rendered as a partial, that also has all templates available to it for use as partials, so could in turn have `{{>b}}` to include a nested partial. To allow for a tidy source tree, templates can be in any number of sub-directories under the main views directory, they are all made available for use as partials without any path identifier. Note - multiple templates with the same name but in different directories will overwrite each other. Set the `flatten` configuration option to false to always use the relative path as the name of the partials (ie: `{{>app/header}}` instead of just `{{>header}}`). Whether the `flatten` option is enabled or not, the relative path name will always be available. Note - don't include the same template as a partial inside itself. Live Updating ============= As express uses the the render engine for the first time, a series of watches are added to any sub-directory of the views directory so that any changes are automatically reloaded for you while the server is still running.

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。