使用browserify在服务器和客户端之间共享把手模板

时间:2014-10-13 05:31:37

标签: javascript node.js handlebars.js browserify

目标:我不想为把手复制模板,部分和帮助器。我想在客户端和服务器上重用它们。

问题:在客户端注册帮助程序时,它不起作用。

Stack:Node.js(带快递),handlebars.js,browserify

正在使用的NPM模块:browserify-handlebarsexpress-handlebars

在我的客户端方面,我有以下文件:

var Handlebars = require('handlebars');

Handlebars.registerHelper('json', function(obj) {
    return JSON.stringify(obj);
  });

var aTemplateFunction = require('../../templates/blah.handlebars');


var html = aTemplateFunction({
  someObject: {
    'key': 'value'
  }
});

我有浏览器运行它来编译模板。

../../templates/blah.handlebars是:

{{ json someObject }}

它会很好地编译模板,但它不会正确应用帮助程序。我得到的错误是:

Uncaught Error: Missing helper: 'json'

我在这里做错了什么?

其他问题:我发现这个例子(http://codyrushing.com/using-handlebars-helpers-on-both-client-and-server/)关于在客户端和服务器之间共享助手,但对我来说这似乎更像是一个黑客攻击。

在客户端和服务器之间共享帮助程序的正确方法是什么?

0 个答案:

没有答案