Tag: dust.js

在Visual Studio中使用Dust.js和Node.js工具

有没有办法在Visual Studio中的节点项目中获取Dust.js模板( .dust )的突出显示,intellisense和所有内容? 使用TypeScript版本的Node.js工具为Visual Studio创build的项目。 这是Visual Studio 2013 SP4。 Express.js是这里的核心Web提供者和其他一些包。 应用程序已经在运行,但编辑.dust文件并不是什么好事。

在expressjs中,Dustjs多个模板无法正常工作

在expressjs中,Dustjs多个模板无法正常工作500错误:模板未find:模板 我的基地防尘模板如下(template.dust) <div class="page"> {+pageHeader}Hello World!{/pageHeader} <div class="bodyContent"> {+bodyContent/} </div> <div class="footer"> {+pageFooter} <hr> <a href="/contactUs">Contact Us</a> {/pageFooter} </div> </div> 而我正试图在我的家庭内部调用这个基础模板。我得到如下错误 Express 500 Error: Template Not Found: template at Object.load (C:\office\nodejs-example\express_example\node_modules\application-name\node_modules\dust\lib\dust.js:54:27) at Chunk.partial (C:\office\nodejs-example\express_example\node_modules\application-name\node_modules\dust\lib\dust.js:407:15) at body_0 (undefined:1:130) at Array.0 (C:\office\nodejs-example\express_example\node_modules\application-name\node_modules\dust\lib\dust.js:34:7) at EventEmitter._tickCallback (node.js:192:40) “home.dust” {>"template"/} {<pageHeader} {?username} Welcome {username} <a href="/items">Items</a> | <a href='/logout'> Log […]

什么是Karken.js,它有多大帮助Node.js更安全可扩展?

我已经观看了几个演示文稿,并阅读了几张关于PayPal如何在其Node.js堆栈中使用Karken.js的幻灯片,以充分利用开箱即用的安全性,显然它也适用于dust.js。 但是真正的问题在于,这是一个真正的事情,使Node.js企业的材料,或者它对于贝宝的开发团队是有用的吗? 为什么我应该在我现有的Node.js堆栈中使用它? Update1:​​它没有提供更多的安全性。 通过使用其他软件包使其更容易。

使用Dust和Express从多个目录渲染视图和分支

我使用Node,Express和Dust with Consolidate来推动一个非常复杂的CMS。 CMS有模块和小工具: 模块是响应路由和呈现页面的东西 小部件是这些页面的片段。 问题是每个Module和Widget都有你自己的视图文件夹,Express只允许你设置一个“views目录”,而在Dust文档中,我甚至找不到Dust在哪个目录中查找模板。 我的文件夹结构如下所示: 根 模块 模块-1 模块-N 模块正controller.js 模块正routes.js 模块正view.dust 小部件 小部件-1 小部件-N 窗口小部件正controller.js 窗口小部件正routes.js 窗口小部件正view.dust 所以, module-n-controller.js做了这样的事情: // just pretend that this data came from the widget-n-controller.js var data = { "widget" : { "view": "./widgets/widget-n/widget-n-view", "data": widgetNData } } res.render('./modules/module-n/module-n-view', data); 然后,在我的module-n-view.dust中 ,我想要做这样的事情: {#widget} {>"{view}" data=data/} {/widget} 所以问题是 […]

在node.js和express3.x中使用dustjs-linkedin模板

我无法弄清楚如何使用expressj 3.j的dustjs-linkedin模板 #app.js var dust = require('dustjs-linkedin'); app.set('view engine', 'dust'); app.get('/test1', routes.test1); #./routes/test.js exports.test1 = function(req, res){ res.locals.session = req.session; res.render('test1', { title: 'Test 1' } ); }; #./views/test1.dust {+base.dust/} {<main} Child Content {/main} #./views/base.dust {+main} Base Content {/main} 去/ test1时出现以下错误 500错误:无法find模块'灰尘'

用expressjs使用dustjs-helpers contextDump

我正在使用dustjs作为快速应用程序中的模板引擎,并想知道是否有人已成功使用contextDump助手在服务器端模板中快速? 我遵循整合尘埃与快递的例子,运作良好。 助手在那里,因为我可以用eq助手做一个简单的testing,它的工作原理。 但是当试图转储的上下文我没有看到它的任何地方。 这里是一个示例模板: {>layout/} {<content} <ul> {#users} <li>{username} – <a href="/users/{id}/tasks/create">Create New Task</a> <ul> {#user.tasks} <li>{title} – <a href="/users/{user.id}/tasks/{task.id}/destroy">Delete Task</a> | <a href="/users/{user.id}/tasks/{task.id}/update">Update Task</a></li> {/user.tasks} </ul> </li> {/users} </ul> {/content} {@contextDump to="console"/} 这是我的app.js: var express = require('express'); var app = express(); var http = require('http'); var path = require('path'); var db = require […]

与Dust.jsasynchronous自我closures助手

我最近一直在尝试Dust.js,因为它支持asynchronous佣工,但是我发现这似乎不是这样的情况。 例如,给出以下灰尘模板: <ul> {#getResults} <li>{#isResultNew"}*New*{/isResultNew} {message}, {#formatResultDate format="d/m/y" /}</li> {/getResults} </ul> 如果formatResultDate帮助器是同步的,那么这是没有问题的,我可以写出date: function formatResultDate(chunk, context, bodies, params) { … return chunk.write(value) } 但是,如果模板是asynchronous的 – 使用承诺 – 则不会输出: function formatResultDate(chunk, context, bodies, params) { … return Promise.resolve(date).then(value => chunk.write(value)) } 我可以通过提供一个标签主体( {#formatResultDate format="d/m/y"}{.}{/formatResultDate} )来解决这个限制,但这并不是我期望的行为。 我知道,asynchronous自闭标签可能是不可能的; 深入研究源代码我发现了这个评论,但是我不太明白这是什么意思,我还没有在文档或search中find任何进一步的解释。

节点JS灰尘不会呈现新行

我有文件config.js包含键值对文本。 这个文件通过键被插入到html中。 例: someKey:“这是一些文字” 这是插入到HTML文本的灰尘助手: dust.helpers.translate = function(chunk, context, bodies, params) { chunk = config[params.key]; return chunk; }; 我想能够插入新行,但它不工作。 例: someKey:“这是一些\ ntext” 有任何想法吗?

Dust.js和表格

我是Dust.js的新手,正在尝试用logging迭代JSON对象,并将它们中的每一个呈现为表格中的一行。 下面是我用来渲染表格的脚本,但是我遇到了问题,我想在渲染的时候,特别是渲染函数的模板参数。 感谢我能指出正确的方向 <div id="dustPlaceholder"></div> <script id="goalTemplate"> <table id="dustGoals"> <thead> <tr> <th>Name</th> <th>Age</th> </tr> </thead> <tbody> {#friends} <tr> <td>{name}</td> <td>{age}</td> </tr> {/friends} </tbody> </table> </script> </div> <script type="text/javascript"> var src = document.getElementById("goalTemplate").innerHTML; var compiled = dust.compile(src); dust.render("goalTemplate", { friends: [ { name: "Moe", age: 37}]}, function(err, out) { document.getElementById('dustPlaceholder').innerHTML = out; }); </script>

NodeJS / Express:隐式地将自定义中间件的数据推送到渲染调用

我正在使用NodeJS / Express3。 我有一些自定义中间件,它根据cookie和URL从数据库中检索一些数据。 我想要访问基本模板中的这些数据(用于所有页面)。 我可以通过将数据附加到req ,然后使用res.render('template', {foo: req.foo, …page specific data…});来显式执行此操作res.render('template', {foo: req.foo, …page specific data…}); 我想使这隐含,所以当我添加(或删除)自定义中间件我不必改变每个渲染调用。 有没有一种方法可以使自定义中间件的数据可以呈现而不必将其添加到req中,并将其显式传递给每个呈现请求。 我正在使用LinkedIn的dust.js模板版本,但我认为问题是模板引擎不可知论者。