index.js 1.43 KB
/**
 * guang
 * @author: lcy<chuanyang.liu@yoho.cn>
 * @date: 2016/08/31
 */
 'use strict';

 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);
 });

// let 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', hbs({
     extname: '.hbs',
     defaultLayout: 'layout',
     layoutsDir: doraemon,
     partialsDir: [`${partials}/partial`, `${doraemon}/partial`],
     helpers: global.yoho.helpers
 }));

// 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;