本文整理汇总了TypeScript中koa.Context.render方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Context.render方法的具体用法?TypeScript Context.render怎么用?TypeScript Context.render使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类koa.Context
的用法示例。
在下文中一共展示了Context.render方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: async
const render = async (
ctx: Context,
template: string,
cards?: any[],
data?: any
) => {
const locals = await buildRenderParams(ctx.user, cards, data);
log.debug(`rendering ${template}`, locals);
await ctx.render(template, locals);
};
示例2: async
export default async (ctx: Context, next: () => Promise<any>) => {
try {
await next();
if (ctx.response.status === 404 && !ctx.response.body) {
ctx.throw(404);
}
} catch (err) {
ctx.status = typeof err.status === 'number' ? err.status : 500;
// (<any> ctx.app).emit('error', err, ctx);
const type = ctx.accepts(['json', 'html', 'text/plain']);
// json
if (type === 'json') {
ctx.type = 'application/json';
if (process.env.NODE_ENV !== 'production') {
ctx.body = { code: ctx.status, error: err.message, stack: err.stack };
}
else if (err.expose) {
ctx.body = { code: ctx.status, error: err.message };
}
else {
ctx.body = { code: ctx.status, error: STATUS_CODES[ctx.status] };
}
}
// html
else if (type === 'html') {
ctx.type = 'text/html';
ctx.body = ctx.render('../templates/error.html', {
error: err,
status: ctx.status,
env: process.env.NODE_ENV,
});
}
// any
else {
ctx.type = 'text/plain';
if (process.env.NODE_ENV !== 'production') {
ctx.body = err.message;
}
else if (err.expose) {
ctx.body = err.message;
}
else {
ctx.body = STATUS_CODES[ctx.status];
}
}
// 错误日志
logger.error(`path: ${ctx.path}, status: ${err.status}, message: ${err.message}, stack: ${err.stack}`);
}
};
示例3: async
export const home = async (ctx: Context) => {
ctx.session!.number = (ctx.session!.number || 0) + 1;
ctx.body = ctx.render('./templates/index.html', { count: 3 });
};
示例4: async
router.get('/', async (ctx: Context): Promise<void> => {
await ctx.render('client.ejs', {
text: 'not login'
})
})