为什么createServer()被认为不是函数?

abe*_*out 6 javascript node.js express visual-studio-code

我在全球安装了快递,npm安装了我的快递应用程序,但智能或应用程序都没有工作(我在mac OS Yosemite上使用visual studio代码).

这是一个示例代码:

/// <reference path="typings/node/node.d.ts" />
/// <reference path="typings/express/express.d.ts" />

var express = require('express');
var app = express.createServer();
app.get('/', function (req, res) {
    res.send('hi');
})

app.listen(8000);
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Abeds-MacBook-Pro:myNode AZ$ node twitter.js 
/Users/AZ/Desktop/myNode/twitter.js:5
var app = express.createServer();
                  ^

TypeError: express.createServer is not a function
    at Object.<anonymous> (/Users/AZ/Desktop/myNode/twitter.js:5:19)
    at Module._compile (module.js:397:26)
    at Object.Module._extensions..js (module.js:404:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:429:10)
    at startup (node.js:139:18)
    at node.js:999:3
Run Code Online (Sandbox Code Playgroud)

我研究了一下,发现createServer()已被弃用.我读到我需要在应用程序的某处更改版本.

这是我的应用程序文件夹

注意:我使用纯粹的Node.js做了另一个应用程序,并且createServer()确实工作没有任何错误和intellisence.

编辑:在我的其他应用程序中,我使用了require('net').

我将我的代码修改为以下内容:

var express = require('express')
  , http = require('http');

    var app = express(); 
    var server = http.createServer(app);
    console.log('Listening on port 8000')
    app.get('/', function (req, res) {
        res.send('hi');
    })

    app.listen(8000)
Run Code Online (Sandbox Code Playgroud)

我现在res.send('hi');遇到的问题是没有达到,也就是说,我无法发送给客户.

编辑2:

我尝试了其中一个答案中提供的以下代码:

const express = require('express');
const http = require('http');

const app = express();
const server = http.createServer(app).listen(8080, function(err) {
  if (err) {
    console.log(err);
  } else {
    const host = server.address().address;
    const port = server.address().port;
    console.log(`Server listening on ${host}:${port}`);
  }
});
app.get('/', function (req, res) {
    res.send('hi');
})
Run Code Online (Sandbox Code Playgroud)

res.send('hi'); 仍然不起作用,也不提供错误.

krl*_*krl 6

createServer是一个功能http所以它应该是:

const express = require('express');
const http = require('http');

const app = express();
app.get('/', function (req, res) {
  res.send('hi');
});

const server = http.createServer(app).listen(8080, function(err) {
  if (err) {
    console.log(err);
  } else {
    const host = server.address().address;
    const port = server.address().port;
    console.log(`Server listening on ${host}:${port}`);
  }
});
Run Code Online (Sandbox Code Playgroud)

PS express全球安装是一个坏主意