index.js 869 Bytes
/**
 * web ui 模块
 * 
 * @author: jiang
 */

import path from 'path';
import Koa from 'koa';
import convert from 'koa-convert';

import hbs from '../../middleware/yoho-koa-hbs';
import helpers from '../../lib/helpers';
import routers from './routers'

const app = new Koa();

app.use(hbs({
    views: path.join(__dirname, '/views'),
    defaultLayout: 'layout',
    helpers: helpers
}));

app.use(async(ctx, next) => {
    ctx.locals = {
        title: 'Yoho Node.js 持续集成平台'
    };
    let pjax = ctx.request.get('X-PJAX');
    if (pjax) {
        ctx.locals.layout = null;
    }
    await next();

    // if (pjax && ctx.status == 301) {
    //     let location = ctx.response.get('Location');
    //     ctx.response.set('X-PJAX-URL', ctx.origin + location);
    // }
    ctx.response.set('X-PJAX-URL', ctx.href);
});

routers(app);
export default app;