我正在尝试从中使用作为模板引擎。我这样做了:
var express = require('express');
var nunjucks = require('nunjucks');
var path = require('path');
var bodyParser = require('body-parser');
var load = require('express-load');
var fs = require("fs");
var app = express();
app.set(
我想使用gulp和Nunjucks同时生成多个不同内容的模板文件。这些模板都将具有完全相同的布局,但是传入不同的文本/图像变量。
我能够成功地生成一个index.html文件,但我不知道如何设置它,以便同时创建多个文件。以下是我所拥有的一个简化版本:
gulpfile.js
var nunjucks = require('gulp-nunjucks-render');
var data = require('gulp-data');
gulp.task('nunjucks', function () {
return gulp
我试图使用nunjucks模板引擎与Expres。页面呈现正确,但控制台上出现错误。Error: No default engine was specified and no extension was provided.
来自文档
var app = express();
nunjucks.configure('views', {
autoescape: true,
express: app
});
app.get('/', function(req, res) {
res.render('index.html');
我试图在{% if %}语句中进行不区分大小写的匹配
以下两种方法不起作用:
{% set role = 'APP' %}
{% if 'app' == role %} 1 {% endif %}
{% if 'app' in role %} 2 {% endif %}
Nunucks的上只有很少的文档,但没有提到特定的类型。
Nunjucks是Jinja2的一个港口,在上也有类似的问题。
我是个修女
短版本:可以在nunjucks中使用标签中的变量和过滤器吗?例如:
{% set myVar ={ title而下} %}
(假设{{ title }}变量设置正确)
更长版本/我的特定用例:
我正在尝试创建一个名为section.njk的布局文件,并将其用于几个页面(基本上是我站点每个部分的首页--类似于Hugo中的section.html布局文件)--我为每个部分都提供了一个数据文件,其中包含了该部分的菜单。
鉴于以下文件:
guides.json
index.md,包括标题:“指南”
这样做是行不通的:
{% for item in {{ title | lo
如果我想将nunjucks模板文件打包为节点模块,那么如何引用打包的模板文件,使其在全局安装时是通用的?
我有以下节点文件,index.js
#!/usr/bin/env node
var nunjucks = require('nunjucks');
var env = nunjucks.configure('./');
var template = env.getTemplate('template.html');
var output = template.render({
h1_copy: "Foo and Bar"
我简单地扩展了Filesystem加载器,如下所示:
var nunjucks = require('nunjucks');
MyLoader = nunjucks.FileSystemLoader.extend({
getSource: function(name) {
return this.parent().getSource(name);
}
});
我怎么总能得到:
TypeError: Path must be a string. Received undefined
at assertPat
Nunjucks中可以嵌套变量吗?我需要能够在数据库中存储一个包含Nunjucks变量的字符串,但它似乎不起作用。下面是我需要做的事情的一个例子:
dict = {
name: 'John',
lastname: 'Smith',
greeting: 'Hello, my name is {{ name }} {{ lastname }}'
}
然后才能做到
<span>{{greeting}}</span>
但它的产出如下:
'Hello, my name is {{ name }} {{ lastname }}
我对双节棍还很陌生,从我所读到的来看,这是不可能的,但我想知道是否有人想出了这样做的方法。
我基本上是基于一个值而不是对象的大小,在一个nunjucks模板中执行一个for循环。
假设您将以下数据传递给一个模板。假设房间数值是从<select>元素中选择的选项的值:
data : {
numberOfRooms : 4
}
在传统的JS中,我可以编写一个for循环,并根据numberOfRooms值限制循环:
for (var i = 0; i < data.numberOfRooms; i ++) {
// do something...
}
我的最终目标是在Nunj
我在从Nunjucks {% for %}循环中获取数组中项的索引时遇到了一些问题。
我的目标数组很简单,如下所示
pages[1,2,3]
这是Nunjucks循环
{% for i,p in data.tickets.pages %} {{ i }} : {{ p }} {% endfor %}
问题所在
{{ p }}输出1,2,3,但{{ i }}不输出任何内容。
如果有人能告诉我如何解决这个问题,我将不胜感激。提前感谢!