- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含 Express 的 Node 应用程序。到目前为止,我一直在使用 Swig 作为我的 View 引擎。我这样配置这个 View 引擎:
app.engine('html', swig.renderFile);
app.set('views', path.join(__dirname, '../views'));
app.set('view engine', 'html');
这种方法对我很有效。但是,由于 Swig 已被弃用,我正在尝试转移到 Nunjucks。为了做到这一点,我做了以下事情:
nunjucks.configure('views', {
autoescape: true,
cache: false,
express: app
});
app.engine('html', nunjucks.render);
app.set('views', path.join(__dirname, '../views'));
app.set('view engine', 'html');
这行不通。我收到运行时错误,但我无法判断实际抛出的错误是什么。为了加载最基本的 View ,我尝试加载以下 HTML 页面:
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<h1>Hello</h1>
</body>
</html>
这是一个非常基本的 HTML View ,不使用任何模板。我只想加载一个 HTML View ,并将 nunjucks 设置为 View 引擎。即使这样,我仍然会遇到错误。
我可以看到 render function , 有一个回调。看起来回调有一个我可以查看的错误对象。但是,我不知道如何在 app.engine('html', nunjucks.render);
行中实际使用该回调。
任何见解将不胜感激
最佳答案
删除这些行:
app.engine('html', nunjucks.render);
app.set('views', path.join(__dirname, '../views'));
app.set('view engine', 'html');
更新代码:
var nunjucks = require('nunjucks');
var app = express();
// looks for html in views folder relative to current working directory
nunjucks.configure('views', {
autoescape: true,
cache: false,
express: app
});
app.get('/', function(req, res) {
res.render('index.html');
});
关于javascript - 在 Express 应用程序中使用 Nunjucks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39781767/
我有以下模型: items: { someId1: { property1.... }, someId2: {...},
如果我们有值 'cats',我想要子字符串 'at'(需要删除第一个和最后一个字母)。我们如何在 Nunjucks 模板中实现这一点? 最佳答案 您可以使用 JavaScript slice 执行此操
我是 nunjucks 新手 - 和 eleventy 一起试用。 精简版:我可以在 nunjucks 的标签内使用变量和过滤器吗?例如: {% 设置 myVar = {{ 标题 |降低 }} %}
看起来应该很简单,但我很难找到答案。 如何在 Nunjucks 模板中找到当前页面的 URL? 这样的事情将是完美的: Some link 最佳答案 取决于您的请求对象的属性,如果它是来自 djang
背景: Eleventy 和 Nunjucks(和 Markdown) 大量长格式文本(使用 markdown 更容易创建/编辑)。 复杂的布局。 对 SSG 还是新手 目标: 使用 markdown
我想在我的“建筑”模板文字中有一个“玻璃”模板文字。 {% for x in range(0, 5) %} {% endfor %} {% for x in range(
如何检查变量是否是 if block 中的对象或字符串?似乎无法调用 {% if ... %} block 内的函数。而其他 {{ if() }} 语法似乎只适用于内联条件。 我现在解决它以测试当变量
我在玩 hexo,我正在测试适用于小循环的 nunjuck 语法。但是我找不到如何include a file ,我的文件位置可能有误(目前在 /source/_posts 中的 .md 旁边)。 环
我想创建一些嵌套的宏。一个部分,在那里我想动态调用任何组件的宏。 (在这种情况下,我要调用的组件是 article。) 这是我的部分宏: {% macro section(config) %
当使用需要重新渲染或编译的Nunjucks模板时,是否有标准的命名约定可用于处理它们?即file.nunjucks,file.nunjucks.html或file.njs等。 我知道在使用其他模板语言
当前变量在 for 循环中被称为属性: {% id, item in items %} {{ id }} {{ item.foo }} {{ item.bar }}
因为 nunjucks 现在支持使用 set as a block我想做这样的事情: {% set navigationItems %} {% for item in items %} {
我有一个像这样的嵌套对象 contract: { packages: [ { servicePoint: {
如何在 Nunjucks 中使用多个数据文件? — 字符串数组对我不起作用; gulp.task('nunjucks', function() { return gulp.src('src/pages
在 javascript 中,我可以循环数组来输出我的对象,如下所示。 var myArr = ["one","two","three"] var myObj = { "one": { "
我的文件夹结构如下: /app |-routes.js /public |-index.html server.js Server.js 看起来像这样: var nunjucks = re
我已经使用 nunjucks 几个月了,发现它是一个很棒的模板引擎。然而,今天早上我遇到了一个看似简单的问题,但我就是想不通。我希望另一双眼睛可以帮助指出解决方案。 问题:如果我将函数传递给模板,传递
所以我在我的 Node.js 应用程序中使用 Nunjucks 作为模板引擎。 我有一个对象,我们将调用 var这可能是也可能不是空的。 当它是空的,如果我这样做{{ var | dump }} Nu
我有一个像这样的 JSON 对象 { "data": [ { "src": "src1", "name": "name 1"
我在从 Nunjucks {% for %} 获取数组中项目的索引时遇到了一些麻烦环形。 我定位的数组很简单,看起来像这样 pages[1,2,3] 这是 Nunjucks 循环 {% for i,p
我是一名优秀的程序员,十分优秀!