I'm getting an Error: cannot find module 'hogan' when I send a request to the node.js server implemented in Coffeescript here:


I've installed the dependencies hogan.js , consolidate , and express .

I've reproduced the example code from consolidate 's documentation (reproduced below) almost exactly, so I'm having trouble seeing where this error is coming from. It looks like it should work.

From the consolidate docs :

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');

I've also tried declaring `hogan = require('hogan.js')' as a dependency.

Anyone have an idea why this is happening?

Note:The gist above differs from the consolidate docs in that I'm setting the view engine to hogan rather than html . This is because I'd rather use .hogan than .html for my template file extensions (I've tried .html and I get the same error).

Problem courtesy of: Will


Your gist sets hogan as view engine , but that should be html like in the Consolidate docs:

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

EDIT:realizing that perhaps you want to use .hogan as extension for your template files, you could use this instead:

app.engine 'hogan', engines[engine] app.set 'view engine', 'hogan'

Solution courtesy of: robertklep

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

本文标题:Express + Consolidate + Hogan: ` Error: cannot find module 'hogan' ` with code s ...

技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(207)