Jade-lang добавить файл манифеста - PullRequest
0 голосов
/ 31 января 2012

Я хотел бы знать, как добавить файл манифеста на сайт node.js с помощью jade-lang и express. Я нашел это как выпуск 239 в github. У меня вопрос, как я могу добавить некоторые данные в буфер, не дожидаясь решения проблемы?

Спасибо'S! * * 1005

Ответы [ 2 ]

2 голосов
/ 25 ноября 2012

Есть простой способ сделать это в нефрите: просто попробуйте это

html(manifest=_condition_ ? "cache.manifest" : undefined)

Этот код проверяет, является ли условие истинным.Если это так, для манифеста установлено значение «cache.manifest».В противном случае он будет установлен на undefined и удален.

0 голосов
/ 31 января 2012

Мне понадобится это в одном из моих проектов в ближайшее время, поэтому мне было любопытно попробовать.По сути, возникает проблема, если вы пытаетесь сделать это в одном файле:

!!! 5
if useManifest
    html(lang="en", manifest="cache.manifest")
else
    html(lang="en")

    head
        title sample title
    body
        p some content...

Это приводит к неправильному отображению HTML.Тем не менее, кажется, что следующее работает просто отлично (это определенно обходной путь):

В routes\index.js:

exports.index = function(req, res){
  res.render('testJade', { layout: false, useManifest: true })
};

В views\testJadeInclude.jade:

!!!5
if useManifest
    html(lang="en", manifest="cache.manifest")
        block content
else
    html(lang="en")
        block content

И, наконец, в views\testJade.jade:

include testJadeInclude
    block append content
        head
            title sample title
        body
            p some content

Затем, основываясь на том, что вы пожелаете (например, если клиент является мобильным браузером или чем-то еще), вы устанавливаете useManifest в true или false.1019 * И я только что проверил другую возможность, вроде как наоборот.Вместо того, чтобы включать тег doctype и html в файл содержимого (через добавление блока), вы включаете файл содержимого в файл doctype-html, поэтому он выглядит следующим образом:

!!! 5
if useManifest
    html(lang="en", manifest="cache.manifest")
        include contentFile
else
    html(lang="en")
        include contentFile
...