服务器或HTML不是';t显示CSS(但在打开HTML文件时有效)
我第一次尝试学习如何为一个简单的网站设置node.js服务器,但遇到了一些奇怪的行为。当我从计算机上打开index.html文件时,它会完全打开,所有CSS都正常工作。但是,我随后设置了一个basic node.js服务器,当通过浏览器访问index.html文件时,它只加载html,而不加载CSS 我对这个非常陌生,所以没有尝试过很多,也因为代码非常简单,所以看不到缺少什么(如果有帮助的话,我尝试了下面的教程)。我还发现了另一个问题,似乎在这里类似,但它没有一个答案,也没有真正的帮助,我检查了所有的文件是UTF-8 HTML:服务器或HTML不是';t显示CSS(但在打开HTML文件时有效),html,css,node.js,Html,Css,Node.js,我第一次尝试学习如何为一个简单的网站设置node.js服务器,但遇到了一些奇怪的行为。当我从计算机上打开index.html文件时,它会完全打开,所有CSS都正常工作。但是,我随后设置了一个basic node.js服务器,当通过浏览器访问index.html文件时,它只加载html,而不加载CSS 我对这个非常陌生,所以没有尝试过很多,也因为代码非常简单,所以看不到缺少什么(如果有帮助的话,我尝试了下面的教程)。我还发现了另一个问题,似乎在这里类似,但它没有一个答案,也没有真正的帮助,我检查了
<html>
<head>
<title>My Page</title>
<link rel="stylesheet" href="styles.css" type="text/css">
</head>
<body>
<h1>A headline</h1>
</body>
</html>
当我将CSS包含在
标记中并直接包含在index.html中时,它确实起作用,但我尝试将
放在
标记之间,但仍然没有起作用(如果有必要的话,这也会很奇怪,因为当我打开html文件时,它会完美地显示出来)。我也尝试过删除type=text/css
,但似乎没有任何改变。任何帮助都将不胜感激 您还需要提供style.css
。您提供的是index.html
,但在index.html中它正在点击http://127.0.0.1:300/style.css
当请求到达您的应用程序时,它仍在为index.html
文件提供服务。(您可以在开发人员工具的网络窗格中确认此操作)
注意:使用最流行的nodejs包很容易实现这一点。您还需要提供
style.css
。您提供的是index.html
,但在index.html中它正在点击http://127.0.0.1:300/style.css
当请求到达您的应用程序时,它仍在为index.html
文件提供服务。(您可以在开发人员工具的网络窗格中确认此操作)
注意:使用可能是最流行的nodejs包很容易实现这一点。我不是节点专家,但看起来您只提供了
index.html
,其他什么都没有。您的服务器不知道什么是styles.css
,因此当您的页面加载时,它试图从服务器请求styles.css
,但它无法处理该请求。我可能找错了方向。我不是节点专家,但看起来你只提供了index.html
,其他什么都没有。您的服务器不知道什么是styles.css
,因此当您的页面加载时,它试图从服务器请求styles.css
,但它无法处理该请求。我可能是找错树了。我只是想了一个主意——我也必须这样做才能加载图像吗?因为这些似乎不会出现在每一条被击中的路线上,所以你需要处理好每一件事。但是如果你只是想服务,你可以使用一个名为httpserver
的包来运行一个http服务器?因为这些似乎不会出现在每一条被击中的路线上,所以你需要处理好每一件事。但是,如果您只想提供服务,可以使用名为httpserver
的包来运行http服务器。
const http = require("http");
const fs = require("fs");
const server = http.createServer((req, res) => {
res.writeHead(200, {"Content-Type": "text/html"});
const myReadStream = fs.createReadStream(__dirname + "/index.html", "utf8");
myReadStream.pipe(res);
});
server.listen(3000, "127.0.0.1");
console.log("Listening to port 3000");
const server = http.createServer(function (req, res) {
const url = req.url;
if (url === '/style.css') {
res.writeHead(200, { 'Content-Type': 'text/css' }); // http header
fs.createReadStream(__dirname + "/style.css", "utf8").pipe(res);
} else {
res.writeHead(200, { 'Content-Type': 'text/html' }); // http header
fs.createReadStream(__dirname + "/index.html", "utf8").pipe(res);
}
})