Как преобразовать нефритовые шаблоны в HTML с помощью бранча

Пытаюсь использовать бранч для моего нового проекта. Одна вещь, которую я хочу сделать, — это иметь возможность писать все свои HTML-ресурсы в jade и иметь возможность рендеринга их в HTML во время сборки. Я нашел jaded-brunch, но не могу понять, как заставить его делать то, что я хочу. Вот мой конфиг.

exports.config =
    paths:
        watched: ['client']

    npm:
        enabled: true
        packages: ['react']

    plugins:
        jaded:
            jade:
                pretty: yes
    files:
        javascripts:
            joinTo:
                'js/app.js': /^app/
                'js/vendor.js': /^(?!app)/
        stylesheets:
            joinTo: 'css/app.css'

    templates:
        joinTo: 'index.html'

person Mad Wombat    schedule 11.12.2015    source источник


Ответы (2)


Это старый вопрос, но Brunch был обновлен, чтобы более изящно обрабатывать компиляцию статических ресурсов.

официальный jade-brunch пакет позаботится о бизнесе без дополнительной настройки.

Размещение файлов .jade в каталоге app/assets (или там, где вы установили свой статический базис) компилирует файлы jade как статический HTML.

Если вы используете include/extends и не хотите, чтобы в вашем каталоге public была куча частичных HTML-файлов, имена с предшествующим символом подчеркивания говорят Brunch игнорировать эти файлы. Если ваш каталог app выглядит так:

app
  | assets
  |  | index.jade
  |  | partials
  |  |   | _header.jade

...и ваш index.jade включает _header:

include partials/_header

ваш каталог public будет выглядеть так:

public
  | index.html

Прекрасно работает.

person bigsweater    schedule 17.11.2016

Согласно документации jaded-brunch, вы можете указать ему компилировать файлы jade в статический вывод html. либо назвав их все расширением файла .static.jade, либо установив параметр staticPatterns, например:

plugins:
    jaded:
        staticPatterns: /\.jade$/
        jade:
            pretty: yes
person es128    schedule 11.12.2015
comment
Не работает. Я получаю этот 'client/index.static.jade', скомпилированный, но не записанный. Проверьте конфигурацию templates.joinTo, и никакие файлы не появятся в открытом доступе. - person Mad Wombat; 17.12.2015
comment
@MadWombat попробуйте удалить templates.joinTo. - person sam; 14.07.2016