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

发布于 2022-09-04 01:46:43 字数 1292 浏览 8 评论 0

我通过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)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苏璃陌 2022-09-11 01:46:43

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

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

违心° 2022-09-11 01:46:43

去那些模板引擎的官网看

koa 像是一个盒子,盒子没有义务解释盒子里放的东西的用法

只怪假的太真实 2022-09-11 01:46:43

请问你的问题解决了吗。我也不知道怎么配置hbs的defaultLayout

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文