koa-view架构分析

根据后端的模板引擎渲染到模板上(如ejs)

安装 npm install koa-views --save --registry=https://registry.npm.taobao.org

安装ejs: npm install ejs --save --registry=https://registry.npm.taobao.org

// Type definitions for koa-views 2.x
// Project: https://github.com/queckezz/koa-views
// Definitions by: Alex Friedman <https://github.com/brooklyndev>
// Definitions: https://github.com/brooklyndev/DefinitelyTyped
// TypeScript Version: 2.3

/* =================== USAGE ===================

    import * as Koa from 'koa';
    import * as views from 'koa-views';

    const app = new Koa();
    app.use(views(__dirname + '/views', {
        map: {
            html: 'underscore'
        }
    }));

    app.use(async function (ctx, next) {
        await ctx.render('user', {
            user: 'John'
        });
    });

 =============================================== */

import * as Koa from "koa";

declare function views(dir: string, opts?: {
    /*
    * autoRender the result into ctx.body, defaults to true
    */
    autoRender?: boolean,
    /*
    * default extension for your views
    */
    extension?: string,
    /*
    * these options will get passed to the view engine
    */
    options?: any,
    /*
    * map a file extension to an engine
    */
    map?: any,
    /*
    * replace consolidate as default engine source
    */
    engineSource?: any,
}): Koa.Middleware;
declare namespace views { }

export = views;

declare module 'koa' {
    interface Context {
        render(viewPath: string, locals?: any): Promise<void>;
    }
}
发布了71 篇原创文章 · 获赞 21 · 访问量 3659

猜你喜欢

转载自blog.csdn.net/qq_26386437/article/details/104424867
koa