node - koa2 模板引擎模块 koa-views 的使用

查看:950
本文介绍了node - koa2 模板引擎模块 koa-views 的使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我通过koa-generator脚手架构建一个项目用于学习koa2,
现遇到的问题是脚手架官配koa-views,虽说支持很多模板引擎,但没有指出那些模板引擎的高级用法该怎么做?
代码如下:

var app = require('koa')()
  , koa = require('koa-router')()
  , logger = require('koa-logger')
  , json = require('koa-json')
  , views = require('koa-views')
  , onerror = require('koa-onerror');

var index = require('./routes/index');
var users = require('./routes/users');

// 就像这里:用的是handlebars模板,但是我该怎么使用handlebars的partial,helpers,layout呢?
// 如果换成 swig 或者 其他又如何弄?
// 又如做一个站点,有些可以共用一个layout,有些不能共用,例如登录页和首页一般头部尾部不一样,就不能共用一个layout,这又怎么解决?
app.use(views('views', {
  root: __dirname + '/views',
  default: 'hbs',
  map: { hbs: 'handlebars' }
}));
app.use(require('koa-bodyparser')());
app.use(json());
app.use(logger());

app.use(function *(next){
  var start = new Date;
  yield next;
  var ms = new Date - start;
  console.log('%s %s - %s', this.method, this.url, ms);
});

app.use(require('koa-static')(__dirname + '/public'));

// routes definition
koa.use('/', index.routes(), index.allowedMethods());
koa.use('/users', users.routes(), users.allowedMethods());

// mount root routes  
app.use(koa.routes());

app.on('error', function(err, ctx){
  logger.error('server error', err, ctx);
});

module.exports = app;

为什么koa2的官方文档这么简(Jian)单(lou)

解决方案

@hsfzxjy 说的在理,关于Koa的模版引擎,留给你自己,爱使用那个就用那个,各模板引擎都有安装方法和api,结合这些,自己想怎么整合就怎么整合!当初我也郁闷这个呢,后来自己安装了Pug,按照api,搞了个简单的挂进去!

实在不会,看看这个吧co-views,Koa官方例子就用的这个!

这篇关于node - koa2 模板引擎模块 koa-views 的使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆