簡體   English   中英

使用 Nodejs 運行 html 文件時出現問題

[英]Having an issue while running html file using Nodejs

我第一次在您的計算機上觀看了運行 node.js 服務器的教程。 幸運的是,我已經創建了服務器,但是當我試圖在完全相同的服務器上顯示 html 內容時遇到了問題。 這是我的 index.js 文件代碼 -

const http = require("http");
const fs = require("fs");
const port = 8020;

const server = http.createServer((req, res) => {
  res.writeHead(200, { "Contet-type": "text/html" });
  fs.readFile("index.html", (err, data) => {
    if (err) {
      res.writeHead(404);
      res.write("Error file not found");
    } else {
      res.writeHead(data);
    }
    res.end();
  });
});

server.listen(port, function (err) {
  if (err) {
    console.log("Something went wrong");
  } else {
    console.log("server listening on port " + port);
  }
});

這就是我在終端機上得到的——

PS C:\Users\Dell\OneDrive\Desktop\New folder> node index.js
server listening on port 8020
node:_http_server:343
    throw new ERR_HTTP_INVALID_STATUS_CODE(originalStatusCode);
    ^

RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>This is my first nodeJs project</h1>
</body>
</html>
    at new NodeError (node:internal/errors:393:5)
    at ServerResponse.writeHead (node:_http_server:343:11)
    at C:\Users\Dell\OneDrive\Desktop\New folder\index.js:12:11
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) {
  code: 'ERR_HTTP_INVALID_STATUS_CODE'
}

Node.js v18.12.1
PS C:\Users\Dell\OneDrive\Desktop\New folder> 

甚至本地主機(在本例中為 8020)也沒有在瀏覽器上運行。

我只想知道我完全不知道的錯誤或我需要做的事情才能獲得我想要的 output。

您正在將 HTML 寫入響應的 header:

res.writeHead(data);

你要:

res.end(data);

要么

res.write(data);
res.end();

暫無
暫無

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

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