Articles of nunjucks

nunjucks:找不到模板

试图呈现一个nunjucks模板,但得到Error: template not found: email.html 。 server/ views/ email/ email.html workers/ email.worker.js //email.worker.js function createMessage(articles) { console.log(__dirname) // /<path>/server/workers nunjucks.configure('../views/email/'); return nunjucks.render('email.html', articles); } 不知道这里有什么问题。

在Nunjucks中,多个path的数组不适用于模板和部分

我使用这个gulp插件来使用nunjucks来简化HTMLpipe理。 https://github.com/carlosl/gulp-nunjucks-render gulp.task('default', function () { return gulp.src('src/templates/*.html') .pipe(nunjucksRender({ path: ['src/templates/'] // String or Array })) .pipe(gulp.dest('dist')); }); 我想保留我的模板和partials在不同的文件夹,所以我试图保持path path: ['src/templates', 'src/partials'] 但它不工作。 Template render error: (unknown path) Error: template not found: partials/side_nav.nunjucks 我的设置

使用jinja2兼容模式预编译Nunjucks模板

Nunjucks拥有越来越强大的忍者兼容模式 。 如果我包括完整的nunjucks,我可以使用它在渲染模板之前调用nunjucks.installJinjaCompat() (请参阅下面的代码片断): nunjucks.installJinjaCompat(); var res = nunjucks.renderString( '{% for i in list[0:2] %}' + ' count: {{ i }}' + '{% endfor %}', {list: [1, 2, 3, 4]} ); document.write(res); <script src="https://cdnjs.cloudflare.com/ajax/libs/nunjucks/3.0.1/nunjucks.min.js"></script> 我不知道如何预编译相同的代码。 有文件list.njk : {% for i in list[0:2] %} count: {{ i }} {% endfor %} 我使用默认的nunjucks-precompile list.njk > list.js命令nunjucks-precompile list.njk […]

错误:需要callback函数

我正在尝试使用节点,expression式和mongodb将对象呈现为html。 当我尝试下面的代码 var express=require('express'), app=express(), engines = require('consolidate'), nunjucks = require('nunjucks'); app.set('view engine', 'html'); app.engine('html', engines.nunjucks); app.set('views', __dirname + '/views'); app.get('/',function(req,res){ res.render('index',{'name':'Hello'}); }) app.use(function(req,res){ res.sendStatus(404); }) var server = app.listen(3000,function(){ var port=server.address().port; console.log('Express server listening on port', port); }) 我得到像下面的callback函数错误 D:\Wiki>node app.js D:\Wiki\node_modules\express\lib\application.js:174 if ('function' != typeof fn) throw new Error('callback function required'); ^ Error: […]

在撇号CMS中创build自定义图像小部件

我在撇号CMS中创build自定义图像小部件时遇到问题。 目前的apostrophe-images-widgets工作正常,更多的图像,但我需要一个特殊的情况下的网站标志,因为它需要特定的CSS和网站上的具体位置。 我试着按照这里的教程做一个自定义小部件与经理,但我没有得到我想要的结果。 这是我的logo-image模块 module.exports = { extend: 'apostrophe-pieces', name: 'logo-image', label: 'Website Logo', addFields: [ { name: 'companyName', label: 'Company Name', type: 'string', required: true }, { name: 'logo', label: 'Logo', type: 'singleton', widgetType: 'apostrophe-images', options: { limit: 1, minSize: [ 200, 200 ] } } ], construct: function(self, options) { self.beforeSave = function(req, […]

无法将图像保存到插件中

我没有太多关于撇号的知识,但我试图创build一个自定义小部件。 我想在我的小部件中有三个字段: 标题(string) 描述(string) 一个图像 我还没有find一种方法来添加一个图像的小部件作为领域。 现在,我在窗口小部件中添加了一个单例,它工作正常。 但是当添加一个图像时,它会显示在页面上,但是当我重新加载页面时,图像不见了。 我的widget.html代码 <div class="md-jumbotron"> <div class="md-grid"> <h1>{{ data.widget.heading }}</h1> <h6>{{ data.widget.desc }}</h6> <div class="img"> {{ apos.singleton(data.page, 'jumbotroPic', 'apostrophe-images', { limit: 1, size: 'full' }) }} </div> </div> 我在控制台上得到了以下内容 $ node app.js WARNING: No session secret provided, please set the `secret` property of the `session` property of the apostrophe-express […]

在node express中传递一个对象到nunjucks模板

我将Express中的对象传递给一个Nunjucks模板 app.get('/purchase', function (req, res) { purchase_data = JSON.stringify(req.query); res.render('purchase', {"purchase": purchase_data}); }) ———————— <ul> {% for key,value in purchase %} <li>{{key}} | {{value}}</li> {% endfor %} </ul> 输出字面上是value属性的每个字母。 例如:{“quantity”:“1”}变成0 | {1 | “2 | q 3 | u 4 | a 5 | n 6 | t 7 | i 8 | t 9 […]

Nunjucks:“如果”有多个“和”或“或”的条件

今天,我的队友在如何在nunjucks模板的if语句中添加'and'或'or'多个条件,正在苦苦挣扎。 经过大量的search,他find了答案,但不是在Stackoverflow。 我不确定这个答案是否已经发布在SO的某个地方,但是现在想把它发布到缩小未来的search范围。 以下是答案:

打破Nunjucks循环

我已经在各个方面绞尽脑汁,但仍然没有解决办法。 也许有人有一些build议? 我在ExpressJS应用程序中使用Nunjucks作为模板引擎的下面的块。 {%- for course in courses -%} {%- for rcourse in report.courses -%} {%- if rcourse.id == course.id -%} <li {{ 'class="column-pre"' if loop.last else ''}}><span>Cool!</span></li> {%- else -%} <li></li> {%- endif -%} {%- endfor -%} {%- endfor -%} 我的问题:当条件certificate了真值y时,我需要break内部report.courses循环。 基本上,当我打印非空的<li>行时,我需要跳转到循环的下一个迭代。 我知道Nunjucks没有像Jinja2那样的循环,Nunjucks的variables是有作用域的(所以我不能设置一个在if/else语句中被修改的类似sentinel的variables),也不能追加到数组这样我可以使用array.length来确定是否打印<li></li>行。 也许有人有一个聪明的解决scheme?

如何configuration标签的语法标记

我目前正在使用ejs模板sails.js,但希望切换到nunjucks。 我已经完成了这个没有问题。 但是,我发现nunjucks的标签和angularjs的标签一样,并希望改变它们。 我看这里的文档: https : //mozilla.github.io/nunjucks/api.html#customizing-syntax 我不知道如何在sails.js的情况下做到这一点。 我已经尝试添加一个'标签'设置config / view.js。 我试过在bootstrap.js中运行configure命令。 有谁能帮我解决这个问题吗?