Документация pug хилая. Можете пояснить (развернуто) как работает вот это:
// Compile the source code
const compiledFunction = pug.compileFile('template.pug');
Почему мы потом передаем compiledFunction объект с переменными шаблона, ведь это вроде не функция? Кто-нибудь может предположить, почему так была организована работа самого популярного шаблонизатора node?
Да)
Но compiledFunction я перевел как "скомпилированную функцию"...
Зачем так разбивать процесс? Не практичнее было бы сразу передавать и файл и значения?
И зря я грешил на документацию, она хоть и скудная, но этот момент проясняет
The general rendering process of Pug is simple. pug.compile() will compile the Pug source code into a JavaScript function that takes a data object (called “locals”) as an argument. Call that resultant function with your data, and voilà!, it will return a string of HTML rendered with your data.