Articles of handlebars.js

NodeJS用三个小点坠毁

我的nodejs项目有一个很奇怪的问题。 该项目是一个具有快递和车把的在线商店,并连接了一个mongo数据库。 在路由器部分我有这样的代码: router.get('/item/:item', function (req, res, next) { var actItem = {}; Item.find().findOne({ '_id': req.params.item }, function (err, item) { actItem.name = item.item_name; actItem.price = item.price; actItem.description = item.description; actItem.imageLink = item.imageLink; }); res.render('pages/shop/item-view', { title: 'Express', item: actItem }); }); 它在数据库的URL中查找项目ID,并返回传递要显示的数据的视图。 它工作得很好,但在视图中,我有这样的代码: <div id="carouselExampleControls" class="carousel slide" data-ride="carousel"> <div class="carousel-inner"> <div class="carousel-item active"> <img […]

Handlebars.js – 循环不包括第一个元素的数组?

对于引导转盘项目<div class="item"> ,第一项需要激活 div class="item active">虽然只有第一个项目 想写一个Handlebars Helper,就这样循环着: <div class="item active"> <div class="foo">{{foo.[0]}}</div> </div> {{#each resArray foo}} <div class="item"> <div class="foo">{{this}}</div> </div> {{/each}} 虽然这将如何正确书写? Handlebars.registerHelper("resArray", function(array) { return array[1 to array.length]; }); 另外,这个帮手会去哪里? ..在我的节点server.js文件的Handlebars分配?

如何使用Handlebars在KeystoneJS中指定模板?

我试图设置一个特定视图的模板/布局(不更改默认模板)。 任何人都可以指向正确的方向吗? 谢谢!

设置Sails js视图扩展名不起作用

我正在使用手柄风帆0.10.5。 我想我所有的车把模板使用扩展名.hbs而不是.handlebars 。 我阅读了sails文档,你可以在config/views设置一个extension属性来改变sails在渲染视图时要查找的文件扩展名。 http://sailsjs.org/#!/documentation/reference/sails.config/sails.config.views.html 我已经设置了我想要使用的扩展,但是在sails正在渲染视图的时候并没有被使用。 这是我去浏览器时得到的索引路线。 { "message": "Could not render view \"index\". Tried locating view file @ \"/Users/jeff/Sites/bcsm/views/index\".", "code": "E_VIEW_FAILED", "status": 500, "view": { "name": "index", "root": "/Users/jeff/Sites/bcsm/views", "defaultEngine": "handlebars", "ext": ".handlebars" } } 这是我的configuration: module.exports.views = { engine: 'handlebars', layout: false, ext: '.hbs' }; 我也试过以下,没有运气: extension: 'hbs' extension: '.hbs' ext: 'hbs' 有没有人解决过这个问题,或有任何想法?

注册自定义助手Express和HBS

我是一个完整的Node新手,请耐心等待。 我使用带有-hbs标志的快速生成器模块将默认的模板引擎切换到句柄。 我现在正在尝试注册一个自定义帮助器,允许我将页面特定的内容添加到位于布局模板中的元素。 我无法find我应该注册自定义hbs助手的地方:我试过了下面的代码(我在这里find了:“。\ node_modules \ handlebars \ dist \ cjs \ handlebars \ compiler \ helpers.js” http://www.apkapps.link/questions/2420017/handlebars-with-express-different-html-head-for-different-pages ): function section(name, options){ if(!this._sections) this._sections = {}; this._sections[name] = options.fn(this); return null; } exports.section = section; 但是,当我尝试从模板调用帮助器时,我得到一个“失踪的帮手:”部分“” 有人可以指出我正确的方向吗?

{{#each}}中的把手表情

我build立我的下一个投资组合网站 我怎么可以在#each循环中放置句柄expression式? 这是快速生成器生成的快速应用程序。 我正在使用express-handlebars NPM包: views/home.hbs : {{#each images}} <li><img src="{{imagesFolder}}{{this}}.jpg" alt=""></li> {{/each}} routes/home.js : 'use strict'; var express = require('express'), router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('home', { layout: 'main', centering: true, titleShown: false, title: 'Hi!', description: 'Home page', keywords: 'wedding,photography,film', bodyClass: 'horizontal', imagesFolder: '\/portfolio\/weddings\/', images: [ […]

Node.js Express app:如果存在cookie,则将CSS class添加到服务器端的元素中

我有一个快速的静态网站应用程序。 我用app.js中的cookie调用我的网站的翻译: // i18n app.get('/hu', function (req, res) { // http://127.0.0.1:3000/hu res.cookie('locale', 'hu', { maxAge: 900000, httpOnly: true }); res.redirect('back'); }); app.get('/en', function (req, res) { // http://127.0.0.1:3000/en res.cookie('locale', 'en', { maxAge: 900000, httpOnly: true }); res.redirect('back'); }); 如果有人访问http://127.0.0.1:3000/en URL,则会存储调用翻译的Cookie。 hu是默认的语言,当有人第一次访问我的网站时,没有存储任何cookie。 但是,如何在英文翻译处于活动状态时将CSS类添加到我的网站? 我有一个导航栏,中间是水平居中的标志。 在英语语言中,单词的长度不同,甚至导致居中的柔性盒元素left-nav | logo | right-nav left-nav | logo | right-nav left-nav | […]

获取模板是用我的Node.JS应用程序预编译新版本的Handlebars错误?

我正在尝试创build一个使用开源的Alpaca Forms包的Node.JS应用程序: http://www.alpacajs.org/ 我正在使用节点版本: v0.10.25 当我从教程中运行testing页面时: http://www.alpacajs.org/tutorial.html 使用该教程中的第二个示例页面: <html> <head> <link type="text/css" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" /> <link type="text/css" href="//code.cloudcms.com/alpaca/1.5.17/bootstrap/alpaca.min.css" rel="stylesheet" /> <script type="text/javascript" src="//code.jquery.com/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.3/handlebars.js"></script> <script type="text/javascript" src="//code.cloudcms.com/alpaca/1.5.17/bootstrap/alpaca.min.js"></script> </head> <body> <div id="form"></div> <script type="text/javascript"> $(document).ready(function() { $("#form").alpaca({ "schema": { "title":"User Feedback", "description":"What do you think about Alpaca?", "type":"object", "properties": { "name": […]

../这将返回内部循环内的视图对象,当父和子具有相同的值

我只是开始与handlebars ,我想做一个简单的双循环为了有一整天的时间15分钟的时间间隔。 一个非常奇怪的事情发生在如果孩子和父母具有相同的值, view对象被返回。 这是我的代码: var handlebarsExpress = require('express-handlebars').create({ helpers: { for: function(from, to, incr, block) { var accum = ''; for(var i = from; i <= to; i += incr) { accum += block.fn(i); } return accum; } } }); app.engine('handlebars', handlebarsExpress.engine); app.set('view engine', 'handlebars'); … … 在视图文件( sth.handlebars )我有这个: <div class="row columns large-12"> […]

把手从数组中呈现全部

在我的appjs文件中,我试图以降序显示所有文章标题。 这工作正常,问题是mongoose返回一个数组,我不知道如何写在句柄中。 var bmtitles = BlogModel.find().select('title date').sort("date", -1); bmtitles.execFind(function(err, ttles) { console.log(ttles); var model = { layout:'blog.hbs', BmTitles: ttles, }; //render page res.render('blog', model); }); 我已经尝试过这样的事情,但没有工作: {{BmTitles.n.title}} {{BmTitles.title}} {{BmTitles}} 这是ttlesvariables返回的内容(只有两个testing职位) [ { _id: 5011b563a947b943dc32d6f5, title: 'Blog title one', date: Sun Jan 01 2012 18:00:00 GMT-0600 (CST) }, { _id: 5011c155a947b943dc32d6f6, title: 'secondpost', date: Sat Dec […]