【发布时间】:2013-10-30 08:05:44
【问题描述】:
我刚开始学习 Node,我正在尝试使用 Node 和 Express 构建一个 Web 应用程序。我的 app.js 文件中有以下代码,目录结构如下。
目录结构:
app
assets
controller
model
view
index.jade
global
node_modules
app.js
package.json
-js-
var express = require('express');
var app = express();
app.configure(function() {
app.set('view', __dirname + '/app/view');
app.set('view engine', 'jade');
app.use(app.router);
});
app.get('/', function(req, res){
res.render('index', {title: 'express'});
});
app.listen(3000);
console.log('Listening on port 3000');
运行命令 node app 并转到 localhost:3000 后。我收到以下错误。我假设它不喜欢这一行的字符串 -> res.render('index', {title: 'express'});。但是,从我在 Google 上找到的所有内容来看,这似乎是正确的。所以我一定是错过了其他东西。
错误消息:
TypeError: string is not a function at Function.app.render (C:\myapp\express\node_modules\express\lib\application.js:488:12) at ServerResponse.res.render (C:\myapp\ express\node_modules\express\lib\response.js:803:7) 在 C:\myapp\express\app.js:19:6 在回调 (C:\myapp\express\node_modules\express\lib\router\index .js:164:37) 在参数 (C:\myapp\express\node_modules\express\lib\router\index.js:138:11) 在传递 (C:\myapp\express\node_modules\express\lib\router \index.js:145:5) 在 Router._dispatch (C:\myapp\express\node_modules\express\lib\router\index.js:173:5) 在 Object.router (C:\myapp\express\node_modules \express\lib\router\index.js:33:10) 在下一个 (C:\myapp\express\node_modules\express\node_modules\connect\lib\proto.js:190:15) 在 Object.expressInit [作为句柄] (C:\myapp\express\node_modules\express\lib\middleware.js:30:5)
【问题讨论】:
标签: javascript node.js express