我正在尝试使用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
任何帮助和解释将不胜感激!
似乎您使用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'));