Как скомпилировать шаблоны Jade в функции JavaScript, чтобы использовать их на стороне клиента? - PullRequest
11 голосов
/ 01 марта 2012

Я хочу использовать скомпилированные нефритовые шаблоны на стороне клиента.Как я должен скомпилировать их, чтобы получить файлы JavaScript?https://github.com/visionmedia/jade

Ответы [ 6 ]

13 голосов
/ 12 июля 2012

Да, вы можете! https://github.com/techpines/asset-rack#jadeasset

Я только что открыл исходный код "asset-rack", проект nodejs, который может предварительно скомпилировать шаблоны Jade и использовать их в браузере в качестве функций JavaScript.

Это означает, что рендеринг выполняется невероятно быстро, даже быстрее, чем микро-шаблоны, потому что в браузере нет этапа компиляции.

Сначала вы установите его на сервере следующим образом:

new JadeAsset({
    url: '/templates.js',
    dirname: __dirname + '/templates'
});

Если ваш шаблон каталога выглядел так:

templates/
  navbar.jade
  user.jade
  footer.jade

Тогда все ваши шаблоны заходят в браузер под переменной «Шаблоны»:

$('body').append(Templates.navbar());
$('body').append(Templates.user({name: 'mike', occupation: 'sailor'});
$('body').append(Templates.footer());
4 голосов
/ 24 октября 2012
#coffeescript
jade = require 'jade'
data = '#menu'
options = 
  client: true
  compileDebug: false
fn = jade.compile data, options
console.log fn.toString()
3 голосов
/ 06 апреля 2013

Вероятно, вам стоит посмотреть, как интегрировать это в задачу сборки Grunt .

См. grunt-contrib-jade

3 голосов
/ 19 марта 2012

Ищите предлагаемые решения в обсуждении нефрита 149 . К сожалению, встроенной функции готовности к использованию пока нет, насколько я знаю.

2 голосов
/ 19 сентября 2013

Этот вопрос немного устарел, но есть метод компиляции шаблонов Jade,

var jade = require('jade');
var fn = jade.compile(jadeTemplate);
var htmlOutput = fn({
  maintainer: {
    name: 'Forbes Lindesay',
    twitter: '@ForbesLindesay',
    blog: 'forbeslindesay.co.uk'
  }
})

Только что получил учебник и поищите скомпилировать или API в

 jade.compile(source, options)

Обязательно установите, compileDebug , чтобы вы получили исходный код,

Установите для этого параметра значение false, чтобы отключить средства отладки (рекомендуется в производстве). Установите значение true, чтобы включить источник функции в скомпилированный шаблон для улучшения сообщений об ошибках (иногда полезно при разработке).

2 голосов
/ 11 мая 2012

Blade - это Jade-подобный шаблонизатор HTML со встроенным промежуточным программным обеспечением для передачи скомпилированных шаблонов клиенту.:) Проверьте это!

...