express-hbs实例注册AsyncHelper奇怪的哈希

我正在使用express-hbs nodejs模块,我有一个使用registerAsyncHelper的问题。 我需要在限制范围内编译一个布局,因为我已经创build了一个新的Handlebars实例,并且在这个实例中创build了一个帮助器。 但是当我编译布局时,它会返回一个奇怪的散列。 我的代码是这样的:

 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模块插入这些散列来代替asynchronous返回的值,并在asynchronous调用完成时replace它们。 您必须在Express环境中使用它作为渲染引擎才能看到这个工作。