0

Error: cannot find module 'hogan'当我向此处在 Coffeescript 中实现的 node.js 服务器发送请求时,我得到了一个:

https://gist.github.com/wmayner/306c89d7f8fbeed3f098

我已经安装了依赖项hogan.js、、consolidateexpress

consolidate几乎完全复制了 的文档(在下面复制)中的示例代码,所以我很难看到这个错误来自哪里。看起来它应该工作。

consolidate文档

var express = require('express')
  , cons = require('consolidate')
  , app = express();

// assign the swig engine to .html files
app.engine('html', cons.swig);

// set .html as the default extension 
app.set('view engine', 'html');
app.set('views', __dirname + '/views');

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

任何人都知道为什么会这样?


注意:上面的要点与consolidate文档的不同之处在于我将 设置view enginehogan而不是html. 这是因为我宁愿使用而.hogan不是.html用于我的模板文件扩展名(我已经尝试过.html并且我得到了同样的错误)。

4

1 回答 1

1

您的要点设置hoganview engine,但这应该html与 Consolidate 文档中的一样:

// 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'

编辑:意识到也许您想.hogan用作模板文件的扩展名,您可以改用它:

app.engine 'hogan', engines[engine]
app.set 'view engine', 'hogan'
于 2013-03-14T08:53:15.493 回答