Nunjucks中的渲染降价给出了块标签错误

问题描述 投票:0回答:1

我正在尝试使用nunjucks markdown渲染文件中的markdown,但是在尝试渲染文件时出现块标记错误。

[我确定我没有注册block标签,但是我不确定该怎么做,因为我是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

任何帮助和解释将不胜感激!

node.js express markdown nunjucks
1个回答
0
投票

似乎您使用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'));
© www.soinside.com 2019 - 2024. All rights reserved.