Node.JS Consolidate和Swig

Jam*_*meo 7 node.js express swig-template

我正在尝试使用节点(表达v3.1.0)设置Consolidate,以使用Swig.我一直在收到错误

错误:无法在Module.require的Function.Module._load(module.js:280:25)的Function.Module._resolveFilename(module.js:338:15)中找到模块'swig'(module.js:362:17) )at function(export.js:378:17)at Function.exports.swig.render(/home/jamie/node_modules/consolidate/lib/consolidate.js:237:50)/ home/jamie/node_modules /巩固/ lib/consolidate.js:144:25 athome/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');
Run Code Online (Sandbox Code Playgroud)

然后我这样提出我的要求:

app.get('/', function(req, res){
    res.render('home', {
        title: "home"
    });
});
Run Code Online (Sandbox Code Playgroud)

我在根目录/视图中有一个模板home.html

我的根目录是/ home/jamie/hello-world.我在这做错了什么?

编辑 顺便说一句,console.log(cons.swig)确实返回了一些内容.

{ [Function] render: [Function] }
Run Code Online (Sandbox Code Playgroud)

所以它绝对存在

Jor*_*eña 11

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

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