7

Swig を使用するために、ノード (express v3.1.0) で Consolidate をセットアップしようとしています。エラーが発生し続けます

エラー: Module.require (module.js:362:17) の Function.Module._load (module.js:280:25) で Function.Module._resolveFilename (module.js:338:15) にモジュール 'swig' が見つかりません) require (module.js:378:17) at Function.exports.swig.render (/home/jamie/node_modules/consolidate/lib/consolidate.js:237:50) at /home/jamie/node_modules/consolidate/ Object.oncomplete (fs.js: 297:15)

上部に、このように設定しました

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

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

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

次に、次のようにリクエストします。

app.get('/', function(req, res){
    res.render('home', {
        title: "home"
    });
});

ルートディレクトリ/ビューにテンプレートhome.htmlがあります

私のルート ディレクトリは /home/jamie/hello-world です。ここで何が間違っていますか?

編集 ちなみに、 console.log(cons.swig) は何かを返します。

{ [Function] render: [Function] }

だからそれは間違いなくそこにある

4

1 に答える 1

11

swigパッケージをインストールしましたか?readme から:

: 使用するエンジンを引き続きインストールし、それらを package.json 依存関係に追加する必要があります。

于 2013-03-13T00:26:27.470 に答える