节点JS:无法获取/

时间:2018-01-31 06:19:52

标签: node.js get

我知道同一个问题已有不同的变化,但是,我的情况略有不同。我得到这个错误无法得到/,这是我的节点js代码

// set up ======================================================================
var express = require('express');
var path = require('path');
var app = express();                        // create our app w/ express
var mongoose = require('mongoose');                 // mongoose for mongodb
var port = process.env.PORT || 8080;                // set the port
//var database = require('./config/database');          // load the database config
var morgan = require('morgan');
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
var io = require('socket.io');
var messageId = {};
    http = require('http'),
    server = http.createServer(function (req, res) {
       res.writeHead(200,{'content-type':'text/plain'});
        res.write("Sever On");
        res.end();
    }),
    io = io.listen(server);
// configuration ===============================================================
//mongoose.connect(database.localUrl);  // Connect to local MongoDB instance. A remoteUrl is also available (modulus.io)

//app.use(express.static('./public'));      // set the static files location /public/img will be /img for users
//app.use(morgan('dev')); // log every request to the console
//app.use(bodyParser.urlencoded({'extended': 'true'})); // parse application/x-www-form-urlencoded
//app.use(bodyParser.json()); // parse application/json
//app.use(bodyParser.json({type: 'application/vnd.api+json'})); // parse application/vnd.api+json as json
//app.use(methodOverride('X-HTTP-Method-Override')); // override with the X-HTTP-Method-Override header in the request


// routes ======================================================================
//require('./app/routes.js')(app);

// listen (start app with node server.js) ======================================
app.listen(port);
console.log("App listening on port " + port);

我的Package.json

{
  "name": "node-todo",
  "version": "0.0.1",
  "description": "Simple todo application.",
  "main": "server.js",
  "author": "Scotch",
  "dependencies": {
    "body-parser": "^1.18.2",
    "mongoose": "4.10.8",
    "express": "^4.10.8",
    "method-override": "^2.3.10",
    "morgan": "^1.9.0",
    "socket.io": "^2.0.3"
  }
}

您可能已经注意到,我只是尝试使用http.createServer()创建响应。 请让我知道我做错了什么。

2 个答案:

答案 0 :(得分:1)

以下代码只创建服务器 -

yum install yum-utils
yum-config-manager --enable remi-php72

但要向客户发送任何回复,您必须首先收听请求,即创建路线 -

sudo yum install --disablerepo="*" --enablerepo="remi,remi-php72" php php-fpm php-cli ... 

我猜你正确写的其他东西。我希望它能解决你的问题。

答案 1 :(得分:0)

您的脚本中创建了两个服务器。您只需要创建其中任何一个。

  1. 核心HTTP服务器http.createServer(),但您没有绑定任何端口。
  2. 您已创建快速服务器(var app = express(); app.listen(port);)。这里提供了端口,但没有提供任何路由信息。
  3. 以下是您可以做的事情:

    <强> 1。如果要使用核心HTTP服务器

    替换你的服务器启动
    server = http.createServer(function (req, res) {
        res.writeHead(200,{'content-type':'text/plain'});
        res.write("Sever On");
        res.end();
    }).listen(port),
    

    <强> 2。如果您想使用快递

    添加根路径

    app.get('/', function (req, res) {
        res.send('hello world')
    })
    

    之前app.listen(port);