Tag: handlebars.js

node.js和Handlebars:编译的HTML被转义

我在节点应用程序中使用把手,我有麻烦。 这是模板index.html {{CONTENT}} 这是代码 var fs = require("fs"); var handlebars = require("handlebars"); var data = { CONTENT: "<b>Hello world!</b>" }; var templateFile = fs.readFileSync('./index.html', 'utf8'); var template = handlebars.compile( templateFile ); var html = template(data); 问题是标签<B>被转移到&lt;B&gt; 我怎样才能避免这一点?

如何更新由passportjs设置的req.user会话对象?

我试图做很多天,但所有的testing失败… 我的平台上的用户使用passportjs策略(paypal,facebook,google …)连接它们。 当用户连接时,我在标题的右侧写上他的昵称。 头文件的html代码是从handlebars模板生成的,当这个部分由expressjs服务的时候,我把req.user会话对象发送给模板,以便编写昵称和其他信息。 顺便说一下,这工作的很好,但我有一个问题,当用户从他的configuration文件更新他的昵称,我不能更新服务器端的会话对象,如果用户重新加载页面,旧的昵称再次出现。 而且我不想每次用户加载一个页面都要求数据库的用户信息,所以我想保留这个configuration: // — Passport session setup passport.serializeUser(function(user, done) { done(null, user); }); passport.deserializeUser(function(obj, done) { done(null, obj); }); 我的中间件设置当地人: // — Set accessible datas from the template res.locals = _.extend(res.locals, { user: req.user, query: req.url, title: app.config.title, url: app.config.url }); 我失败了: // Trying to update req.user directly : not […]

Sails.js w / Handlebars(SPA风格)中Ember.js产量的等同物

所以基本上我想要做一些我可以做的事情,而不是使用烬只是sails.js和把手。 我build立了如下sails new fooProject –template=handlebars项目:在运行npm install sails-generate-views-handlebars sails new fooProject –template=handlebars npm install sails-generate-views-handlebars之后,运行sails new fooProject –template=handlebars npm install sails-generate-views-handlebars 。 太棒了,我有一个布局文件,所有的文件都以.handlebars结尾。 但是我想要做这样的事情: 浏览次数: views/index.handlebars {{>header}} {{yield}} {{>footer}} /views/partials/foo.handlebars <div class="foo stuff">…</div> 路由器: config/routes.js '/': { view: 'index', controller: 'FooController', action: 'index' } 控制器: controllers/FooController index: function(req, res){ return res.view({partials: 'partials/foo'}); // <– I want […]

express-handlebars,express-hbs和hbs模块之间有什么区别,

我试图使用Handlebars和Express,并且我发现模块表示句柄,express-hbs和hbs,这些模块似乎都是类似的。 我应该注意到它们之间的主要区别是什么,因为我需要能够使用布局和部分?

有没有办法使用多个视图引擎与Express + Node.js

情景 :我使用Node.js , Express + Handlebars作为视图引擎和MongoDB开发了一些事务性页面。 现在的问题是在模块集成的时候,我得到了一些构build在Express + Jade上的页面作为视图引擎。 问题 :如何整合Handlebars和一些Jade上的页面?

Windows预编译Handlebars.js模板

查看Handlebars.js文档以进行预编译。 这些说明适用于OSX。 这也可以在Windows上完成吗? 如果是这样,当他们说“安装节点和npm”时,“节点”是指“ node.js ”?

NodeJS + Express +把手 – 无法find视图“index.html”

我一直在玩Node.js。 我最近开始玩快车,并已经build立了一个基本的应用程序。 我想使用Handlebars作为我的视图模板引擎,但我打了一堵墙 – 未能find视图“index.html” 我有index.php与app.js和相同的目录,所以我会认为下面的代码将没有问题定位index.html … 我已经四处搜寻了,但是除了玉之外,其他的例子都是罕见的…任何人都有这个组合的经验吗? 提前致谢! var express = require('express') , app = express.createServer(); app.configure(function(){ app.set('view engine', 'handlebars'); app.set("view options", { layout: false }) }); app.get('/', function(req, res){ var data = { name: "Ford Prefect", home: "a small planet somewhere in the vicinity of Betelgeuse" } res.render('index.html', data); }); app.listen(3000); 更新: 我错过了: […]

Express.js hbs模块 – 从.hbs文件注册部分

我正在使用express.js中的handlebars.js hbs包装 。 我有模板工作正常,但我需要添加部分来呈现与我的意见。 我想要做这样的事情: hbs.registerPartial('headPartial', 'header'); // where "header" is an .hbs file in my views folder 然而,它是抛出一个“标题部分无法find”。 我可以使registerPartial工作,如果我传递一个string的HTML到第二个参数,但我想为我的分支使用单独的视图文件。 我还没有find任何文件,但希望我可能会错过简单的东西。 有谁知道如何使用registerPartial方法中的视图文件? 如果是的话,我该如何实现呢? UPDATE 为了给更多的上下文,让我添加更多的代码。 这是我的“服务器”文件 – app.js var express = require('express') , routes = require('./routes') , hbs = require('hbs'); var app = module.exports = express.createServer(); // Configuration app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', […]

TypeError应用带有上下文的预编译Handlebars模板

赦免noob问题,但我根本无法得到预编译Handlebars模板做任何事,但barf出 TypeError:'undefined'不是一个函数(评估'templateSpec.call(容器,Handlebars,上下文,options.helpers,options.partials,options.data)') 每次我将一个上下文应用到(预编译的)模板。 鉴于以下文件和内容: hello.handlebars : <p>Hello, {{name}}</p> templates.js :通过handlebars hello.handlebars -f templates.js编译hello.handlebars的结果handlebars hello.handlebars -f templates.js index.html :在head包含Handlebars RC1运行时 ,并且包含正文: <body id="body"> <script src="templates.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" charset="utf-8"> var compiledTemplate = Handlebars.templates['hello']; var html = compiledTemplate({ name: 'World' }); document.getElementById('body').innerHTML = html; </script> </body> 调用compiledTemplate()会抛出上面的错误,无论我做什么 – 但我能够获得客户端模板编译和显示就好了。 所有的演练和教程,我已经看过像这样明显的跳过,所以我必须错过一些愚蠢的东西。 有任何想法吗?

Node.js + Express + Handlebars.js +部分视图

我正在尝试使用Handlebars.js作为服务器模板引擎,使用Node.js | Express制作一个简单的HelloWorld项目。 问题是我找不到使用这样的链的任何例子,特别是有多个视图。 例如,我想定义标题视图: <header> <span>Hello: {{username}}</span> </header> 并在每个页面使用它与其他意见。 也许我正在以一种错误的方式思考这个观点,我认为这个观点是可以在任何其他视图内的任何页面上重复使用的一种控制。 我感谢任何链接到我可以学习的教程或(更好)开源项目。