express提供的模板包是hjs,它使用的是hogan.js。然而,这个包已经一年没更新了,在GitHub上也有一年前开启的问题(虽然不是非常关键)。 此外,在npm上还有多个hogan.js包用于express模板,这让我感到困惑!
如果你查看hjs的源代码,它只有大约63行,并且需要使用hogan.js才能工作,因此它只是一个包装器,使其在express上工作。 我使用的是hogan-express,它也是hogan.js的一个包装器(在package.json中需要),不超过150行。我的观点是,为了澄清事情,重要模块是hogan.js,所有与express集成的其他模块都只是包装器。我认为也值得尝试consolidate模块,它也支持Hogan。通过查看github的星标(不一定是质量指标),您将看到consolidate (* 548) > express-hogan(*48) > hjs (*8)如果你想知道为什么hjs被选择用于express命令行,答案就在这个pull request中。你可以自己看看实现另一个模块需要什么。所以可能有人应该报告如果hjs出现问题,并且有更好的替代方案。在express中更改它并不难。