Как получить данные из json файла в pug шаблон?
У меня есть файл dataset.json и файл index.pug В файле у меня есть переменная -let data. Как мне получить данные из файла dataset.json в переменную data в файл index.pug, где я буду в дальнейшем через цикл for или другим способом генерировать разметку. Мне не принципиально получить данные именно в переменную data, если есть другие варианты - тоже можно использовать. Я сделал так. Создал файлик index.js где я обрабатываю свой json.
var pug = require('pug');
var fn = pug.compileFile('template.pug');
var locals = require('./dataset.json');
console.log(fn({
name: locals
}));
console.log(locals)
В консоль выводится мой обработанный dataset.json файл. Файл template.pug выглядит так
p #{name}'s Pug source code!
Tут возникает вопрос, а как мне сделать так, чтобы когда я вызываю сборку файла template.pug в консоли командой
pug template.pug
у меня перед этим вызвалась обработка моего index.js, где я присваиваю мой json в переменную name?
Ответы (1 шт):
Создаём папку dev, создаём папку public
В папке dev создаём файл dev/index.pug с таким вот содержимым.
html(lang=lang)
head
title= title
body
h1 Hello Wolrd!
script
| var data = !{JSON.stringify(locals)}
Далее в корне создаём файл dataset.json с таким вот содержимым.
{
"lang": "ruRU",
"title": "Test Project"
}
Выполняем команду: pug -O dataset.json dev -P -o public
После которой в папке public появиться файл public/index.html
С таким вот содержимым
<html lang="ruRU"><head>
<title>Test Project</title>
</head><body>
<h1>Hello Wolrd!</h1>
<script>
var data = {"lang":"ruRU","title":"Test Project","filename": "src//index.pug","complieDebug": true,"pretty": true}
</script>
</body></html>