Рендеринг Markdown в Nunjucks дает ошибку тега block - PullRequest
0 голосов
/ 27 февраля 2020

Я пытаюсь визуализировать Markdown в файле с помощью Nunjucks 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

1 Ответ

1 голос
/ 27 февраля 2020

Кажется, вы расширяете 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'));
...