访问客户端 js 文件中的 handlebars 变量

Accessing handlebars variable inside client js file

我正在使用 hbs 为 express js 框架生成把手视图,我需要从单独的 JavaScript 文件中访问我传递给视图的变量。

例如:

 var foo = {{user.name}}

显然此代码会引发错误,但是在 JavaScript 中获取 hbs 变量的首选方法是什么?

目前我正在 运行 另一个 ajax 请求获取相同的数据。但我认为再次请求相同的数据是不明智的...

找到了解决方案,好像我只需要将 handlebars 变量放在一个字符串中就可以了。

为了将对象传递给变量,我创建了 hbs 助手:

 hbs.registerHelper('json', function(context) {
    return JSON.stringify(context);
 });

在我看来:

 var currentUser = JSON.parse('{{{json user}}}');

现在我可以在客户端 js 上访问数据了。