我有一个带koa-views@next
的Koa v2应用作为渲染器和nunjucks
模板引擎。这是我的工作设置,没有任何问题,我只是混淆了views
文件夹的双重声明:
const Koa = require('koa');
const nunjucks = require('nunjucks');
const path = require('path');
const router = require('koa-router')();
const views = require('koa-views');
const app = new Koa();
const index = require('./routes/index');
app.use(views(path.join(__dirname, 'views'), {
extension: 'njk',
map: { njk: 'nunjucks' },
}));
nunjucks.configure(path.join(__dirname, 'views'), {
autoescape: true,
});
router.use('/', index.routes(), index.allowedMethods());
app
.use(router.routes())
.use(router.allowedMethods());
app.listen(3000);
但如果我不这样做,渲染就不起作用了。如果我取消注释nunjucks.configure
块,我收到以下错误:
Template render error: (unknown path)
Error: template not found: layout.njk
我的设置有问题吗?