我正在尝试使用Nunjucks(客户端)作为项目的模板组件。我正在使用xampp,apache作为服务器。
问题在于,当我在index.html中放入“ nunjucks代码”时,它无法编译。如果我放“ {%包括” sidebar.html“%}” ,它只会在DOM中呈现。
加载DOM之后,我可以使用render方法,并且在我的模板中,一切正常。
index.html(无效):
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!-- Meta, title, CSS, favicons, etc. -->
...
<body>
...
{% include "sidebar.html" %} // This gets rendered literally
...
</body>
...
因此,基本上,我想知道是否有可能在apache服务的第一页(在本例中为index.html)中使用nunjucks功能。
谢谢。
答案 0 :(得分:0)
尝试
True
// index.html
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src = "/js/vendors/nunjucks.min.js"></script>
<script>
window.addEventListener('load', function () {
nunjucks.render('index.njk', {some-data}, (err, html) => body.innerHTML = err && err.message || html);
});
</script>
<body>
<!-- Empty body -->
</body>
</html>
答案 1 :(得分:0)
我发现了一个骇人的解决方法,在这里我“添加了另一层htmls”。
因此,在 index.html 中,我有以下代码:
$(document).ready( function() {
nunjucks.configure('./includes', { autoescape: true });
nunjucks.render('dashboard_main.html', {}, function(err, res) {
$("#main_content").html(res)
});
});
然后,dashboard_main.html可以具有nunjucks代码。