Node.js Express+;合并+;Hogan:`Error:找不到模块';霍根使用直接来自合并文档的代码

Node.js Express+;合并+;Hogan:`Error:找不到模块';霍根使用直接来自合并文档的代码,node.js,express,coffeescript,hogan.js,Node.js,Express,Coffeescript,Hogan.js,我收到一个错误:当我向在Coffeescript中实现的node.js服务器发送请求时,找不到模块“hogan”: 我已经安装了依赖项hogan.js,以及express 我几乎准确地复制了的文档中的示例代码(如下所示),所以我很难看到这个错误是从哪里来的。看起来应该能用 从: 我还尝试将'hogan=require('hogan.js')声明为依赖项 有人知道为什么会这样吗 注意:上述要点不同于合并文档,因为我将查看引擎设置为hogan,而不是html。这是因为我宁愿使用.hogan而不是

我收到一个
错误:当我向在Coffeescript中实现的node.js服务器发送请求时,找不到模块“hogan”

我已经安装了依赖项
hogan.js
,以及
express

我几乎准确地复制了的文档中的示例代码(如下所示),所以我很难看到这个错误是从哪里来的。看起来应该能用

从:

我还尝试将'hogan=require('hogan.js')声明为依赖项

有人知道为什么会这样吗



注意:上述要点不同于
合并
文档,因为我将
查看引擎
设置为
hogan
,而不是
html
。这是因为我宁愿使用
.hogan
而不是
.html
作为我的模板文件扩展名(我尝试了
.html
,我得到了相同的错误)。

你的要点将
hogan
设置为
查看引擎
,但这应该是
html
类似于合并文档:

编辑:意识到您可能想使用
.hogan
作为模板文件的扩展名,您可以改为使用此扩展名:

app.engine 'hogan', engines[engine]
app.set 'view engine', 'hogan'

但是
引擎是'hogan'
,所以事实上我已经在要点中尝试了
app.engine'html',engines[engine]\app.set'view engine',engine
(我确实想使用
.hogan
,而不是
.html
)。太好了!谢谢我没有意识到,
app.engine
的第一个参数也是模板的文件扩展名,我没有注意到您在编辑中将其更改为“hogan”-只在第二行看到了更改。我的错!
// tell Express to use Consolidates 'hogan' renderer for .html templates
engines = require 'consolidate'
engine = 'hogan'
app.engine 'html', engines[engine]

// tell Express to use '.html' as extension to find views with .render()
app.set 'view engine', 'html'
app.engine 'hogan', engines[engine]
app.set 'view engine', 'hogan'