0

ここでCoffeescriptError: cannot find module 'hogan'に実装されている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 enginehoganhtml.hogan.html.html

4

1 に答える 1

1

あなたの要点は として設定hoganされていますが、それは Consolidate docs のように view engineなるはずです:html

// 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 に答える