Tag: handlebars.js

Handlebars和ExpressJS的多种布局?

如果我使用Handlebars作为Express 4的模板引擎,似乎只有指定一个布局模板的选项才能用于所有视图: app.engine('hbs', expressHbs({extname:'hbs', defaultLayout:'layout.hbs'})); 如果你的应用需要多个布局呢? 如果viewA.hbs使用一个布局,而viewB.hbs需要不同的布局呢? 当我学习nodejs时,我来自PHP Laravel背景,在这个背景下, Blade模板引擎可以指定在每个视图文件的顶部使用哪个布局。 这使得在任何给定视图的布局模板之间切换变得非常简单。

从命令行不能在节点上安装句柄

我一直试图让handlebars使用节点工作。 我的书指示我安装这样的npm install –save express3-handlebar : npm install –save express3-handlebar 。 那扔了一个错误 npm WARN deprecated express3-handlebars @0.5.2: THIS PACKAGE HAS BEEN RENAMED TO: express-handlebars 所以我试着npm install –save express-handlebar 。 当我试图启动服务器node meadowlark.js ,命令提示符显示Express started on…. 但是当我把本地主机放入浏览器时,我收到了以下内容: Error: No default engine was specified and no extension was provided. at new View (C:\Users\myUserName\Desktop\project\meadowlark\site\node_modules\express\lib\view.js:48:42) at EventEmitter.app.render (C:\Users\myUserName\Desktop\project\meadowlark\site\node_modules\express\lib\application.js:509:12) at ServerResponse.res.render […]

Ember.js如何引用Grunt.js预编译的Handlebars模板?

我一直在探索Ember.js,以及Grunt.js,但我不明白Ember.js如何能够find并使用预编译的Handlebars模板。 现在我的Gruntfile.js看起来像这样: module.exports = function(grunt) { // Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), handlebars: { compile: { files: { "js/templates.js": "templates/*.hbs", } } } }); // Load the plugin that handles the handlebars compiling grunt.loadNpmTasks('grunt-contrib-handlebars'); // Default task(s). grunt.registerTask('default', ['handlebars']); }; 我的app.js Ember视图是这样声明的(路由和控制器被省略): App.LogoView = Ember.View.extend({ templateName: 'logo', classNames: ['logo'] }); App.TabsView = Ember.View.extend({ templateName: 'tabs', […]

如何为主句柄布局设置一个variables而不传递给每个路由?

我正在使用与nodejs和expression式的句柄。 这是我的main.handlebars文件: <!doctype html> <html> <head> … </head> <body> <div class ="container"> … <footer> &copy; {{copyrightYear}} Meadowlark Travel </footer> </div> </body> </html> 我省略了与我的问题无关的所有内容。 到目前为止,我将版权年份传递给每一条路线: var date = new Date(); var copyrightYear = date.getFullYear(); app.get( '/', function( req, res) { res.render( 'home', { copyrightYear: copyrightYear } ); } ); 是否有可能在全局设置copyrightYearvariables,所以我不必把它传递给每个路线/视图?

从Jade模板的把手条件检查财产

我希望我的把手模板可以提供给客户端 <input type='checkbox' checked={{isChecked}}> 要么 <input type='checkbox' {{#if isChecked}}checked{{/if}}> 我怎样才能编写一个Jade模板来编译呢? 从他们的文档中,如果分配的值是真实的,但是实际上不包括该值,那么将检查的属性包括在内: input(type="checkbox", checked="{{isChecked}}") 编译 <input type='checkbox' checked> 我也试过: input(type="checkbox", checked={{isChecked}}) 和 input(type="checkbox", {{#if isChecked}}checked{{/if}}) 这只是不能编译,我明白

如何使用模板(句柄,或任何替代)与Node.js,而不使用框架(EX =明确)?

例如,我有这个JSON文件“foo.json”: { "foo": [ { "bar": "Hello World!" }, { "bar": "The End" } ] } 在Node.js中,我想使用模板(句柄或任何)从JSON文档生成一个string,如: <p>Hello World!</p><p>The End</p> …然后将该string值分配给Node.js中的一个variables。 最后,我将连接更多的值到variables,并将最终的variables值作为html文档输出。 这可以做到不使用Express之类的框架吗?

Express中的app.set和app.engine

我正在关注一个Node.js教程 。 我不确定的两行是: app.set('view engine', 'html'); app.engine('html', hbs.__express); 我检查了app.set 文件 ,它只告诉我: 将设置名称分配给值。 但是我的问题是使用这个的相关性。 我app.engine它,无论使用app.set之前被调用。 让我知道在app.set之前使用app.set的app.engine 。 编辑 我发现了下面这行,但是我仍然不清楚,因为我第一次使用模板引擎: 但是我们可以通过使用view engine指令来告诉Express将HTML文件视为dynamic的,如上所见。

用nodejs预编译Emberjs Handlebar模板的简单方法是什么?

我很享受emberjs,想要在我的一些小的移动应用程序中进行下一步操作,并预编译我的Ember / Handlebars模板,作为构build过程的一部分。 我宁愿远离搞乱Ruby,也想使用node.js,因为我更喜欢使用它。 我相信我想要使用的是Ember.Handlebars.precompile,但不幸的是我无法在节点环境中加载规范的ember.js文件。 来自节点repl的天真尝试示例: > var e = require('./ember'); ReferenceError: window is not defined at /Users/jeremyosborne/git/projects/ldls/client/lib/emberjs/src/ember.js:5:1 at Object.<anonymous> (/Users/jeremyosborne/git/projects/ldls/client/lib/emberjs/src/ember.js:1596:2) — stack trace, you get the idea — 我想我已经想出了如何在我的代码中设置它们,以便它们能够正确地使用我的视图,我只是想在浏览器DOM之外的环境中编译它们。 代替获得规范的ember.js加载节点,是否有一套特定的文件,我可以采取从余烬回购,并用于编译我的模板? 编辑我做了一个kluge修复工程很好,但得到维修性的F。 我抓住了所有的Handlebars代码减去对window对象的引用。 然后我跟着Ember.Handlebars.Compiler代码,用Object.createreplaceEmber.create ,导出我的Ember对象,并且在节点中看起来非常棒的东西(因为它的工作方式和生成的函数都是模板)。 但是由于前面提到的维护问题,我不认为这是我自己问题的答案,所以仍然可以回答。 编辑2上面原来是一个总失败。 也许在程序中有问题,但使用Ember.Handlebars.precompile或Ember.Handlebars.compile不起作用。 模板被创build,但是当我在我的代码中使用附加到Ember.TEMPLATES的预编译模板时,它们不起作用。 我似乎只能在模板显式传递到修改的脚本标记中时才能使模板工作,正如在emberjs.com网站上所build议的那样。 编辑3我想清楚我做错了什么。 我的答案在下面。

expression4把手渲染没有布局

有没有快速的4应用程序呈现不使用布局视图的方法? 我在项目中有一个layout.hbs。 该文件似乎被使用,无需在任何地方注册,大多数视图是好的,但如果只是一个单一的视图需要渲染没有?

格式date在meteor把手护腕{{timestamp}}

使用meteor的手把护腕时,如何将{{ timestamp }}的输出从Thu Jul 25 2013 19:33:19 GMT-0400 (Eastern Daylight Time)为Jul 25 ? 尝试{{ timestamp.toString('yyyy-MM-dd') }}但它给了一个错误