Node.js 代码没有执行

Node.js code does not execute

我写了一些 Node.js 代码,但是当我 运行 node index.js 在我的终端中时,它只是空白。我的节点脚本在创建服务器后甚至没有登录到控制台,或者正在响应我的 index.html 文件。我什至尝试将所有 'req' 和 'res' 更改为 'request' 和 'response'。这是我的代码:

var http = require('http');
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var urlparse = bodyParser.urlencoded({ extended: false });

http.createServer(function(request, response){
 console.log('listening on port 8080');
 app.on('request', function(request, response){
   response.sendFile('./index.html');
  });
 app.post('/auth', urlparse, function(request, response){
   var user = request.body.user;
   var pass = request.body.pass;
  });
}).listen(8080);

请帮忙。提前致谢。

编辑:http.createserver(); 内的任何内容都不会执行,因为我尝试在 http.createServer(); 外记录另一个句子并且它记录了!

继续尝试以下操作:

var http = require('http');
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var urlparse = bodyParser.urlencoded({extended: false});

app.on('request', function (request, response) {
    response.sendFile('./index.html');
});
app.post('/auth', urlparse, function (request, response) {
    var user = request.body.user;
    var pass = request.body.pass;
});

// Bind createServer with app:
http.createServer(app).listen(8080, function (request, response) {
    console.log('listening on port 8080');
});

我希望这对你有用。

更新:

提到的方法虽然有效,但已经过时了。 推荐的方法是:

app.listen(8080, function () {
    console.log('listening on port 8080');
});

使用此方法可以跳过要求 http。