index.js 1.2 KB
/**
 * guang
 * @author: lcy<chuanyang.liu@yoho.cn>
 * @date: 2016/08/31
 */

var express = require('express'),
    path = require('path'),
    hbs = require('express-handlebars'),
    glob = require("glob");

var app = express();

// set view engin
var doraemon = path.join(__dirname, '../../doraemon/views'); // parent view root
var partials = path.join(__dirname, './views'); // parent view root


app.on('mount', function(parent) {
    delete parent.locals.settings; // 不继承父 App 的设置
    Object.assign(app.locals, parent.locals);
});

var mhbs = hbs.create({
    extname: '.hbs',
    defaultLayout: 'layout',
    layoutsDir: doraemon,
    partialsDir: [`${partials}/partial`, `${doraemon}/partial`],
    helpers: global.yoho.helpers
});

app.set('views', path.join(__dirname, 'views/action'));
app.engine('.hbs', mhbs.engine);

//register helper
//var helpersDir  = path.join(__dirname, 'helpers');
// glob.sync(helpersDir + '/**/*.+(js|coffee)').forEach(function(file) {
//     console.log(file);
//     require(file);
// })
//require('./helpers/include')(app, mhbs);
require('./helpers/json');
require('./helpers/page');
require('./helpers/tpl');

// router
app.use(require('./router'));

module.exports = app;