本文整理匯總了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'
})
})