エクスプレスアプリで新しいルートを追加しようとしていますが、サーバーを起動しようとするとエラーが発生します。エラーがここにノードエクスプレスに新しいルートを追加する
C:\development\node\express_app\node_modules\express\lib\router\index.js:252
throw new Error(msg);
^
Error: .get() requires callback functions but got a [object Undefined]
は、私はので、私は
exports.furniture = function(req, res){
res.render('furniture', { title: '4\267pli' });
};
ルート/ furniture.js
ルートを/重要なファイルを残した場合、私に知らせてノードに新しいよ、私のファイルであるさindex.js
furniture.ejs/*
* GET home page.
*/
exports.index = function(req, res){
res.render('index', { title: '4\267pli' });
};
ビュー/
<!DOCTYPE html>
<html>
<head>
<title>4·pli -- architecture</title>
<link rel='stylesheet' href='/stylesheets/style.css'/>
<link href='http://fonts.googleapis.com/css?family=Didact+Gothic' rel='stylesheet' type='text/css'>
</head>
<body>
<div class="wrapper">
<h1 class="logo"><%= title %></h1>
</div>
</body>
</html>
app.js
/**
* Module dependencies.
*/
var express = require('express')
, routes = require('./routes')
, user = require('./routes/user')
, furniture = require('./routes/furniture')
, http = require('http')
, path = require('path');
var app = express();
// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(require('stylus').middleware(__dirname + '/public'));
app.use(express.static(path.join(__dirname, 'public')));
// development only
if ('development' == app.get('env')) {
app.use(express.errorHandler());
}
app.get('/', routes.index);
app.get('/users', user.list);
app.get('/furniture', routes.furniture);
http.createServer(app).listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
おかげで素晴らしい作品/routes/user.js –
@ 3boll何がユーザーの下でいくつかの機能を持っているしたい場合。 .. index.js admin.jsとfoo.js ...あなたはどうやってそれを書いていますか? – Cmag
@Clustermagnetはレスポンスに追加されたコードをチェックします。 – jmingov