【问题标题】:node server.js return nothing节点 server.js 不返回任何内容
【发布时间】:2017-02-02 12:23:16
【问题描述】:

我对 Node.js 很陌生。我刚刚通过 Brew 安装了它,当我在终端中运行 node server.js 时,终端数小时内什么也没做。

 node -v
 v6.6.0

这是服务器文件,它来自我正在观看的教程视频。这个简单的快速服务器的目的是让我能够通过 HTTP 快速将测试数据提供给前端。

package.json:

{
    "name": "simple-server",
    "version": "1.0.0",
    "description": "",
    "main": "server.js",
    "scripts": {
         "test": "echo \"Error: no test specified\" && exit 1",
        "start": "node server.js"
    },
    "author": "",
    "license": "ISC",
    "dependencies": {
        "body-parser": "^1.14.1",
        "express": "^4.13.3",
        "path": "^0.12.7"
    }
}

server.js 文件:

var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var app = express();

//Allow all requests from all domains & localhost
app.all('/*', function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type,     Accept");
  res.header("Access-Control-Allow-Methods", "POST, GET");
  next();
});

app.use(express.static(path.join(__dirname + '/public')));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));

var persons = [
    "person1.jpg",
    "person2.jpg",
    "person3.jpg",
    "person4.jpg",
    "person5.jpg",
    "person6.png"
];

app.get('/persons', function(req, res) {
    console.log("GET From SERVER");
    res.send(persons);
});

app.listen(6069);

提前致谢

【问题讨论】:

  • 你能发布 server.js 吗? package.json 是包元数据文件,而不是服务器本身
  • @eavidan 刚刚做了
  • 你是否安装了依赖npm install? GET http://127.0.0.1:6069/persons 的时候有什么东西吗?
  • 当我尝试安装 npm 时,它给了我'npm WARN simple-server@1.0.0 No repository field.'

标签: node.js terminal nodes node-modules


【解决方案1】:

尝试在app.listen 之前添加console.log("started!")。我猜服务器启动了,但从您的代码中可以看出,它所做的唯一日志是收到请求时。

尝试在浏览器中访问http://localhost:6069/persons

编辑:这定义了一个服务器响应

app.get('/persons', function(req, res) { 
   console.log("GET From SERVER");
   res.send(persons); <-- server sends persons array to client
});

【讨论】:

  • 当我在浏览器中访问它时,它会给我 ["person1.jpg","person2.jpg","person3.jpg","person4.jpg","person5.jpg"," person6.png"]。我在 app.listen 之前添加了 console.log,但什么也没发生
  • 将 console.log 更改为 console.log("started!")。无论如何,由于浏览器包含该数组,恭喜 - 您的服务器正在工作。但是,您似乎缺乏一些知识,因此建议您阅读手册或深入教程。
猜你喜欢
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-27
  • 2019-04-06
  • 2012-02-15
  • 2020-09-07
  • 2021-11-22
相关资源
最近更新 更多