在 Nunjucks 中呈现 Markdown 会出现块标记错误

Rendering Markdown in Nunjucks gives block tag error

我正在尝试使用 Nunjucks markdown 在文件中呈现 Markdown,但在尝试呈现文件时出现块标记错误。

我确定我没有注册块标记,但我不确定该怎么做,因为我是 express 和 Nunjucks 渲染的新手。

// index.js
const nunjucks = require("nunjucks");
const markdown = require('nunjucks-markdown');
const marked = require('marked');

exports.testmarkdown = async (req, res) => {
  var env = nunjucks.configure('views');
  markdown.register(env, marked);
  res.render("testmarkdown");
};

// template
{% markdown %}
# Hello World
{% endmarkdown %}

//error message
Template render error: (/Users/meow/sa-blog/views/testmarkdown.html) [Line 2, Column 4]
  unknown block tag: markdown

您似乎使用 markdown 扩展了 environment,但使用 nunjucks 进行渲染。 如果要向 nunjucks 添加自定义,则应使用 environment.

const express = require('express');
const nunjucks = require('nunjucks');
const markdown = require('nunjucks-markdown');
const marked = require('marked');
const app = express();

var env = new nunjucks.Environment(
    new nunjucks.FileSystemLoader('./views'), {
    autoescape: true
});

env.express(app);
markdown.register(env, marked);
app.set('views','./views');

app.get('/', (req, res) => {
    res.render('index.html');
});

app.listen (3000, () => console.log('Listening on port 3000'));