带有Azure错误请求的Node.js Express

我基本上只是在Azure上启动了一个网站,而且由于某些未知的原因,我已经收到了错误的请求错误。 事情是这不是我的第一个网站,我以前遇到过这个,但这次我不能得到它! 也许我太累了,有人可以帮我吗? 下面的文件基本上是我所改变的所有东西。

server.js

/** * Module dependencies. */ var express = require('express'); var routes = require('./routes'); var azure = require('azure'); var http = require('http'); var fs = require('fs'); var path = require('path'); var app = express(); var index = require('./routes/index'); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); app.configure('development', function(){ app.use(express.errorHandler()); }); //Routing app.get('/', index.splash); app.get('/thumbnail', index.thumbnail); //Utility app.post('/file-upload', function(req, res) { // get the temporary location of the file var tmp_path = req.files.thumbnail.path; // set where the file should actually exists - in this case it is in the "images" directory var target_path = './public/images/' + req.files.thumbnail.name; // move the file from the temporary location to the intended location fs.rename(tmp_path, target_path, function(err) { if (err) throw err; // delete the temporary file, so that the explicitly set temporary upload dir does not get filled with unwanted files fs.unlink(tmp_path, function() { if (err) throw err; res.send('File uploaded to: ' + target_path + ' - ' + req.files.thumbnail.size + ' bytes'); }); }); }); //No Touch http.createServer(app).listen(app.get('port'), function(){ console.log("Express server listening on port " + app.get('port')); }); 

thumbnail.jade

 h1= title p Welcome to #{title} form(method='post', enctype='multipart/form-data', action='/file-upload') input(type='file', name='thumbnail') input(type='submit') 

index.js

 /* * GET home page. */ exports.index = function(req, res){ res.render('Splash', {title: 'Express'}); }; exports.thumbnail = function (req, res) { res.render('thumbnail', { title: 'Express' }); }; 

我真的不知道这可能是我使用微软的WebMatrix作为我的IDE,这基本上只是他们的Express Node.js模板。

更新:所以我得到这个具体的错误:

 Application has thrown an uncaught exception and is terminated: Error: .get() requires callback functions but got a [object Undefined] at Router.route.Route.sensitive (C:\Users\ShannonS\Documents\GitHub\CircuitsExpress\node_modules\express\lib\router\index.js:252:11) at Array.forEach (native) at Router.route (C:\Users\ShannonS\Documents\GitHub\CircuitsExpress\node_modules\express\lib\router\index.js:248:13) at Router.methods.forEach.Router.(anonymous function) [as get] (C:\Users\ShannonS\Documents\GitHub\CircuitsExpress\node_modules\express\lib\router\index.js:270:16) at Function.methods.forEach.app.(anonymous function) [as get] (C:\Users\ShannonS\Documents\GitHub\CircuitsExpress\node_modules\express\lib\application.js:412:26) at Object.<anonymous> (C:\Users\ShannonS\Documents\GitHub\CircuitsExpress\server.js:35:5) at Module._compile (module.js:449:26) at Object.Module._extensions..js (module.js:467:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) 

对于任何看到这个的人,我回答了我自己的问题。 是hexacyanides答案确实帮助,但它不是问题的答案,因为我仍然收到错误的请求错误。 我做的是这个。

我的index.js文件是不变的。 我在routes文件夹中定义了一个新的javascript文件,然后将其命名为Roads.js ,然后在我的server.js文件中,我只input:

var Roads =require('./routes/Roads');

现在我所有的app.get( )命令都在第二个参数中使用了Roads.### 。 它可能不是正确的解决scheme,但它的工作原理,我已经build立了使用这种方法的网站之前,他们已经certificate是好的。