Показать сообщение отдельно
  #1 (permalink)  
Старый 18.06.2019, 01:08
Аспирант
Отправить личное сообщение для Alessio18911 Посмотреть профиль Найти все сообщения от Alessio18911
 
Регистрация: 18.06.2017
Сообщений: 87

Подключить JSON в файл PUG
Привет всем! Потратил целый день, но проблему так и не решил. Пожалуйста, подскажите! Есть файл JSON, данные из которого нужно вывести в PUG-файл. Структура файла такая:
doctype html
html
    head
        title Свиньи
        link(rel="stylesheet", href="../build/css/style.min.css")
    body
        - var file = { "pigs": [ "pink", "black", "green"] }
        ul
            each val in file.pigs
                li= val


Именно в таком виде работает. Но хотелось бы вынести в отдельный файл JSON, чтобы подключить его потом сюда. Сделал, ничего не работает. Подключал так:
.......
const data = require('gulp-data');
const fs = require('fs');

const transpileCss = function() {
    return src('app/src/static/style.scss')
        .pipe(sass())
        .pipe(uglifycss())
        .pipe(rename({ extname: '.min.css'}))
        .pipe(dest('app/build/css'));
}

const transpilePug = function() {
    return src('app/src/index.pug')
        .pipe(data(function(file) {
            return JSON.parse(fs.readFileSync('app/src/json/data.json'));
        }))
        .pipe(pug())
        .pipe(beautifyCode.html())
        .pipe(dest('app/build'));
}


Вот файловое дерево: http://skrinshoter.ru/s/170619/rmII9uaA

Если пытаться вызвать нужный файл через require, как советуют множественные форумы, т.е.
doctype html
html
    head
        title Свиньи
        link(rel="stylesheet", href="../build/css/style.min.css")
    body
        - var file = require('json/data.json')
        ul
            each val in file.pigs
                li= val


сразу выкидывает ошибку "require is not a function"
Подскажите, пожалуйста, как сделать, чтобы заработало.
Ответить с цитированием