Я не знаю, откуда вы взяли GetSort
? или что такое Tailwater
? и вы говорите, не используя Express (потому что function get(req, res){ res.send(...
, конечно, выглядит как функция подписи Express, так что вы меня немного запутали.)
В любом случае, вот самый простой пример, который я мог бы привести без какого-либо намека на экспресс:
const compiledFunction = require('pug').compileFile('template.pug');
require('mongodb')
.connect('mongodb://localhost:27017/')
.then(mongo=>{
mongo
.db('somedb')
.collection('somecollection')
.find({})
.toArray()
.then(list=> {
// You just pass your data into the function
const html = compiledFunction({list: list});
console.log(html);
mongo.close();
});
});
И template.pug
по этим направлениям:
html
head
title something
body
each item in list
div= item.title
Дело в том, что экспресс делает большинство шаблонов под капотом. Так что использование экспресса, скорее всего, сделает его чище.
Так что если у вас есть экспресс, вы хотите следовать документации: https://expressjs.com/en/guide/using-template-engines.html
app.set('view engine', 'pug'); //Tell express you want to use pug.
app.get('/', function (req, res) {
const list = ... //
res.render('template', { list : list });
})
Это сделало бы то же самое, что и в примере выше, И ТАКЖЕ отправило html в браузер клиентов (что все-таки является экспрессом).
Я что-то пропустил?