javascript - Node.js/Express 错误 : cannot GET/

标签 javascript node.js express

所以我有一些代码(app.js,在服务器中)

console.log("Server started. If you're reading this then your computer is still alive."); //Unnecessary test command to make sure everything works.

var express = require("express");
var app = express();
var serv = require("http").Server(app);

app.get("/", function(req, res) {
    res.sendFile(__dirname + "/client");
});

app.use("/client", express.static(__dirname + "/client"));

serv.listen(2000);

//Set up server stuff. This isn't touched.

var io = require("socket.io")(serv, {});
io.sockets.on("connection", function(socket) {
    console.log("Socket connection"); //This will print to the server, not the developer console in your browser.
});

//Initialize sockets and set up socket listeners. This isn't touched either, except when adding new events.

还有一些代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Multiplayer!</title>
        <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
        <script src="/socket.io/socket.io.js"></script>
    </head>
    <body>

    <script>
        var socket = io();
    </script>

    </body>
</html>

我的文件夹结构是:

multiplayer_game  
 app.js  
 package.json  
 node_modules (folder)  
  node stuff  
 client (folder)  
  index.html  
  js (folder)  
  img (folder)  
 server (folder) 

文件中的位置越远,它的“嵌套”程度就越高。
当我通过执行 node app.js (文件夹已 cd'ed)打开页面并转到 localhost:2000 时,我收到“Cannot GET/”。当我访问 localhost:2000/client 时,一切正常。我可以做什么来修复我的代码?

最佳答案

为此,您需要一个路由器。

const router = express.Router;
router.get('/', function(req, res) {
    res.sendFile(__dirname + "/client");
});
app.use('/', router);

中间件无法处理各种http方法。

关于javascript - Node.js/Express 错误 : cannot GET/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393943/

相关文章:

javascript - 让所有没有某个类(class) child 的 parent

node.js - Javascript 异步函数正在等待响应而不等待

javascript - 如何覆盖 JS 库中的变量

Javascript:了解函数语法和参数

javascript - 从 Ajax 加载的内容加载内容

javascript - 检测使用 javascript 动态分配的 css 样式/属性

node.js - 在 NodeJs 中使用 async await 和 mariadb 查询的正确方法是什么?

node.js - 路径\"[object Object]\"处的值\"players\"转换为 ObjectId 失败

javascript - 无需编辑 MEAN 中的整个条目即可将数据推送到 MongoDB

reactjs - 如何将 AWS Elb 后面的 ReactJs SPA 的 http 重定向到 https?