【发布时间】:2015-11-01 08:15:40
【问题描述】:
大家好,我是 node js 的新手
我正在尝试运行以下代码
var express = require('express'),
app = express(),
cons = require('consolidate'); // Templating library adapter for Express
app.engine('html', cons.swig);
app.set('view engine', 'html');
app.set('views', __dirname + '/views');
app.get('/', function(req, res){
res.render('hello', { name : 'World' });
});
app.get('*', function(req, res){
res.send('Page Not Found', 404);
});
app.listen(8080);
console.log('Express server started on port 8080');
然后错误来了
TypeError:字符串不是函数 在 EventEmitter.render (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\application.js:569:12) 在 ServerResponse.render (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\response.js:961:7) 在 C:\Users\YAm\Desktop\mongodb\work\test_coso.js:10:6 在 Layer.handle [as handle_request] (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\layer.js:95:5) 在下一个(C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\route.js:131:13) 在 Route.dispatch (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\route.js:112:3) 在 Layer.handle [as handle_request] (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\layer.js:95:5) 在 C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\index.js:277:22 在 Function.process_params (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\index.js:330:12) 在下一个(C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\index.js:271:10) 在 expressInit (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\middleware\init.js:33:5) 在 Layer.handle [as handle_request] (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\layer.js:95:5) 在 trim_prefix (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\index.js:312:13) 在 C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\index.js:280:7 在 Function.process_params (C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\index.js:330:12) 在下一个(C:\Users\YAm\Desktop\mongodb\work\node_modules\express\lib\router\index.js:271:10)
【问题讨论】:
-
expressjs和consolidate等所有依赖都安装了吗?
-
看起来您对
res.render()的调用正在由需要res.render(view [, locals] [, callback])的Express 实现提供服务。我猜你的模板/视图引擎没有正确安装或初始化,或者你没有正确使用它。
标签: javascript node.js mongodb