从Express渲染Nunjuck模板

时间:2016-11-24 11:54:15

标签: javascript node.js express nunjucks

我的文件夹结构定义为

├── core
|   ├── main.css
|   └── base.njk
├── preview
|   ├── img
|   ├── css
|   ├──routes
|   |  └──index.js
|   ├── views
|   |   ├── preview.njk
|   └── server.js
├── templates
|   ├── login
|   |   └── index.njk
├── package.json
└── index.js

index.njktemplates/login/index.njk的{​​{1}}位于base.njk的{​​{1}}范围内。

我想在预览server.js中渲染登录索引模板然后我收到错误core

预览/ server.js看起来像

template not found

模板路由器定义为

'use strict';
const nunjucks = require('nunjucks');
const express = require('express');

const app = express();

nunjucks.configure('views', {
    autoescape: true,
    express: app
});


app.set('view engine', 'njk');

app.use('/css', express.static(__dirname + '/css'));
app.use('/img', express.static(__dirname + '/img'));
app.use(express.static(__dirname + '/public'));

app.get('/', function(req, res) {

    res.status(200);

    let data = {
        templates: []
    };
    console.log(data.templates);
    res.render('preview', data);

});

const templateRouter = require('./routes');
app.use('/', templateRouter);

app.set('port', 9090);
app.set('ip', "127.0.0.1");


app.listen(app.get('port'), app.get('ip'), function() {
    console.log('%s: Node server started on %s:%d ...', Date(Date.now()), app.get('port'), app.get('ip'));
});

0 个答案:

没有答案