我正在使用 express-hbs nodejs 模块,但在使用 registerAsyncHelper
时遇到问题.我需要在限制范围内编译一个布局,因为我创建了一个新的 Handlebars 实例,并且我在这个实例中创建了一个助手。但是当我编译布局时,它会返回一个奇怪的散列。
我的代码是这样的:
var hbs = require('express-hbs');
var hbs_temp = hbs.create();
hbs_temp.registerAsyncHelper( 'content', function( text, cb ) {
fs.readFile( 'some-file', { encoding: 'utf8' }, function( err, data ) {
cb( new hbs_temp.SafeString( data ) );
});
});
hbs_temp.compile( '<div> {{content}} </div>' )( );`
结果:
<div> __WEIRD HASH__ </div>
我的问题是。我的代码有问题,或者这是一个“express-hbs”错误? 谢谢!
最佳答案
express-hbs 模块将这些哈希插入到异步返回值的位置,并在异步调用完成后替换它们。您必须在 Express 的上下文中使用它作为渲染引擎才能看到它的工作。
关于javascript - express-hbs 实例 registerAsyncHelper 奇怪的哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23546427/