我想知道如何使用jade-lang和express将清单文件添加到node.js站点。我发现这是github中的issue 239。我的问题是如何在没有等待解决问题的情况下将一些数据添加到缓冲区中。
感谢的!
答案 0 :(得分:2)
在玉器中有一种简单的方法: 试试这个
html(manifest=_condition_ ? "cache.manifest" : undefined)
此代码检查 condition 是否为true。如果是,则manifest设置为“cache.manifest”。否则,它将被设置为undefined
并丢弃。
答案 1 :(得分:0)
我很快就会在我的一个项目中需要这个,所以我很想尝试一下。如果您尝试在单个文件中执行此操作,则实际上存在问题:
!!! 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。
我刚刚测试了另一种可能性,这是另一种方式。您可以在doctype-html文件中包含内容文件,而不是在内容文件中包含doctype和html标记(通过块附加),所以它看起来像这样:
!!! 5
if useManifest
html(lang="en", manifest="cache.manifest")
include contentFile
else
html(lang="en")
include contentFile