问题标签 [nunjucks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4106 浏览

python - How to execute a (safe) bash shell command within setup.py?

I use nunjucks for templating the frontend in a python project. Nunjucks templates must be precompiled in production. I don't use extensions or asynchronous filters in the nunjucks templates. Rather than use grunt-task to listen for changes to my templates, I prefer to use the nunjucks-precompile command (offered via npm) to sweep the entire templates directory into templates.js.

The idea is to have the nunjucks-precompile --include ["\\.tmpl$"] path/to/templates > templates.js command execute within setup.py so I can simply piggyback our deployer scripts' regular execution.

I found a setuptools override and a distutils scripts argument might serve the right purpose, but I'm not so sure either is the simplest approach to execution.

Another approach is to use subprocess to execute the command directly within setup.py, but I've been cautioned against this (rather preemptively IMHO). I don't really deeply understand why not.

Any ideas? Affirmations? Confirmations?

Update (04/2015): - If you don't have the nunjucks-precompile command available, simply use Node Package Manager to install nunjucks like so:

0 投票
2 回答
83 浏览

naming-conventions - 组装模板插件的命名约定是什么?

我正在为Assemble v0.6.0创建一个 nunjucks 插件。似乎它正在使用Template(我认为它以前称为Engine),它也为Verb提供动力。

我应该将插件称为“engine-nunjucks”、“template-nunjucks”、“assemble-plugin-nunjucks”、“assemble-nunjucks”吗?

0 投票
5 回答
11858 浏览

node.js - 在 Express 4 中使用 Nunjucks

我正在尝试使用Nunjucks作为Express的模板引擎。我这样做了:

但是上面的代码给出了这个错误:

请告诉我如何解决这个问题?

0 投票
1 回答
3385 浏览

html - 嵌套的 Nunjucks For 循环

我正在尝试编写一个 nunjucks 模板,该模板循环遍历外部数组并填充列,然后循环遍历嵌套数组以在每列中生成行。

所以,我的数据结构看起来像这样:

我想创建一个看起来像这样的 html 文档:

我尝试制作一个看起来像这样的 nunjucks 模板:

但是,由于某种原因,我无法访问内部变量。我真的无法访问内部 for 循环。我查看了堆栈溢出,并通过他们的文档,但找不到任何关于嵌套 for 循环的信息。

任何帮助将不胜感激。谢谢你。

0 投票
1 回答
1027 浏览

nunjucks - 你如何加载一个 Nunjucks 模板异步(客户端)?

从我在文档中看到的内容来看,当您使用渲染 API 并为回调传递第三个参数时,对渲染的调用应该是异步的,而不是同步的,但是当我在客户端执行此操作时:

它仍在执行同步 xhr 请求。(需要明确的是,它呈现得很好,但它不是异步调用。)

0 投票
2 回答
2022 浏览

javascript - gulp + nunjucks 无法渲染模板

我正在尝试在我的 JS 堆栈中使用 nunjucks。

我已经用 gulp-nunjucks 预编译了我的模板:

然后我在需要 JS 中包含 ui-template 以供使用:

我在控制台中收到错误消息:

任何人都可以找出问题所在吗?

0 投票
1 回答
795 浏览

embed - Nunjucks 树枝嵌入

我使用 twig 在 Symfony 中渲染模板,使用 nunjucks 在 JavaScript 中渲染相同的模板。Twig 有一个很棒的特性,叫做嵌入,它是包含和扩展之间的一种组合。nunjucks 中是否有相同的功能?

0 投票
2 回答
5422 浏览

nunjucks - Nunjucks 检查对象或字符串

如何检查变量是否是 if 块中的对象或字符串?似乎无法调用{% if ... %}块内的函数。而另一种{{ if() }}语法似乎只适用于内联条件。

我现在解决它以测试当变量是对象时应该存在的一些对象属性,但应该有更好的解决方案。像isObjectorisString函数

0 投票
3 回答
13736 浏览

javascript - 阻止 nunjucks 转义 HTML

我有一个评论 AJAX 调用,它返回已发布评论的数据,我还内置了 @mention 功能,服务器端正在处理 @mentions 并对str_replace提到的用户执行 a 在响应中用 a 标签替换他们的名字,对于例子:

但是,我似乎无法在文档中找到如何允许 nunjucks 将其打印为实际的 HTML,它会对其进行转义并显示代码,而不是让它成为真正的标签。

有谁知道我如何允许将其打印为实际的标签?

0 投票
2 回答
974 浏览

javascript - Node JS模板将对象添加到窗口

我想知道在使用 Node 渲染 javascript 模板时是否有办法将对象或值附加到窗口对象。例如,如果我想获取传递给 res.render 函数的数据并将其附加到窗口对象以供以后使用。稍后将用于哈希路由。目前我正在使用Nunjucks

任何其他建议将不胜感激。

编辑: 我没有说清楚,但是当我提到窗口对象时,我指的是客户端窗口对象。不是 Node 中的窗口对象。渲染模板时,如何将项目添加到窗口对象。