Node.JS合并和Swig

我试图设置整合与节点(Express v3.1.0),使用Swig。 我不断收到错误

错误:在Module.require(module.js:362:17)上的Function.Module._load(module.js:280:25)处的Function.Module._resolveFilename(module.js:338:15)处找不到模块“swig” )在/ home / jamie / node_modules / consolidation /下的Function.exports.swig.render(/home/jamie/node_modules/consolidate/lib/consolidate.js:237:50)处的require(module.js:378:17) lib / consolidate.js:144:25 at /home/jamie/node_modules/consolidate/lib/consolidate.js:97:5 at fs.readFile(fs.js:176:14)at 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] } 

所以它绝对在那里

你安装了swig包吗? 自述文件:

注意 :您仍然必须安装您希望使用的引擎,将它们添加到您的package.json依赖项中。