TypeError:对象函数app(req,res){app.handle(req,res); }没有方法“注册”

尝试使用与nodejs的句柄,我得到这个错误“TypeError:对象函数应用程序(请求,水库){应用程序处理(请求,水库);}没有方法'注册'”。 以下是nodejs的代码。 相同的代码似乎已经为其他人工作,因为它几乎是NodeJS + Express + Handlebars的复制粘贴- 无法find视图“index.html” 。 PS我是新的nodejs和试图得到它的感觉,我已经习惯了把手。

//Load Modules var express = require('express'); var handlebars = require('handlebars'); var app = express(); // Configuration app.configure( function() { app.register('.html', handlebars); app.set('views', __dirname + '/'); app.set('view engine', 'handlebars'); app.set("view options", { layout: false }); }); // Routes app.get('/:first/:last', function(req, res) { var data = {title:req.param.first + " " + req.param.last}; res.render("template/profilecard.html", data); }); app.listen(3000); console.log("NodeJS Server Started"); 

Express 3.0将app.register更改为app.engine。 迁移到Express.js 3.0

一些模板引擎不遵循这个约定,巩固.js库被创build映射所有节点的stream行的模板引擎遵循这个约定,从而允许他们在Express中毫无意义地工作。

npm安装合并

尝试以下操作:

 var engines = require('consolidate'); app.configure( function() { app.set('views', __dirname + '/'); app.set('view engine', 'handlebars'); app.set("view options", { layout: false }); app.engine('.html', engines.handlebars); });