簡體   English   中英

Node.js / Express錯誤:無法獲取/

[英]Node.js/Express error: cannot GET /

所以我有一些代碼(服務器中的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壓縮的文件夾)打開頁面並轉到localhost:2000 ,得到“無法獲取/”。 當我轉到localhost:2000/client ,一切正常。 我該如何解決我的代碼?

您將需要一個路由器。

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

中間件不能處理各種http方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM