我的Express应用程序位于安装了Node的Ubuntu 16.04 DigitalOcean服务器上。
作为基本测试,我使用以下命令运行我的server.js文件:
node server.js
然后我测试了文件:
curl http://localhost:3000
然而,这返回了Cannot GET /
。
我使用一个简单的HTTP服务器测试了一个单独的app.js文件没有 Express,并且无论端口号如何,它都返回了我想要的任何内容。换句话说,它不是防火墙问题。
安装了Express模块。
我认为这可能是我的Express实施的一个问题。这是我的server.js:
var express = require('express');
var app = express();
app.listen(3000, function () {
console.log("express has started on port 3000");
});
关于如何解决此问题的任何建议?
答案 0 :(得分:0)
Reddit /u/bdenzer helped me out with this answer that works. Needed to point to a file to see an output via CURL. Adding this right about the app.listen
yields an output. You need to create a file with text in it in the same directory as server.js of course. Also you need to import this at the top of server.js to serve the text file: let path = require('path');
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname,'hello.txt'));
});