簡體   English   中英

Nunjucks沒有渲染模板

[英]Nunjucks not rendering template

我的文件夾結構如下:

/app
   |-routes.js
/public 
   |-index.html
server.js

Server.js看起來像這樣:

var nunjucks = require('nunjucks');
var express        = require('express');
var app            = express();
nunjucks.configure('public', { autoescape: true, express: app });
var port = process.env.PORT || 8080; 
app.use(express.static(__dirname + '/public'));
require('./app/routes')(app); // configure our routes
app.listen(port);               
exports = module.exports = app;

app / routes.js看起來像這樣:

module.exports = function(app) {
        app.get('*', function(req, res) {
            res.render('index.html', { awesome: 'page-title' }); 
        });
    };

public / index.html如下所示:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <base href="/">

    <title>{{awesome}}</title>

</head>
<body>
        <h1>{{ awesome }}</h1>    
    </div>
</body>
</html>

當我啟動我的節點應用程序並瀏覽到localhost:8080時,頁面標題是字符串{{awesome}}並且包含字符串{{awesome}}而不是所需的“頁面標題”。 為什么nunjucks沒有將變量渲染到模板中?

你必須拆分'public'文件夾。 什么是公開的,不能由nunjucks處理。 它是靜態的(你聲明了)。 把你的nunjucks模板放在文件夾中,例如'views'

/app
   |-routes.js
/public 
   |css/
   |img/
/views
   |- index.html
server.js

nunjucks.configure('views', ...)

如果你在windows上使用thinkjs:你的view.js應如下所示:

export default {type: 'nunjucks',root_path: think.ROOT_PATH + '\\\\view',};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM