26

我一直在使用 sendFile 方法在 Express 项目中呈现 Html。我想在我的项目中使用部分。并且,不转玉。

有没有办法在 Express 3.x 中使用带有部分的传统 HTML。我试过ejs,但不完全理解。

4

1 回答 1

59

一个更“类似 HTML”的模板引擎将是nunjucks(其语法类似于 Jinja2,您已经使用过)。

这是一个简单的设置。这假设 Express 和 Nunjucks 都已安装,如果没有:

npm install express
npm install nunjucks

应用程序.js

var nunjucks  = require('nunjucks');
var express   = require('express');
var app       = express();

app.listen(3012);

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

app.get('/', function(req, res) {
  res.render('index.html', {
    title : 'My First Nunjucks Page',
    items : [
      { name : 'item #1' },
      { name : 'item #2' },
      { name : 'item #3' },
      { name : 'item #4' },
    ]
  });
});

意见/index.html

<!doctype html>
<html>
  <head>
    <title>welcome to {{ title }}</title>
  </head>
  <body>
    <ul>
      {% for item in items %}
        {% include "item.html" %}
      {% endfor %}
    </ul>
  </body>
</html>

意见/item.html

<li>{{ item.name }}</li>
于 2013-11-11T18:54:20.593 回答