我正在学习NodeJS和Javascript,我想构建一个运行2个HTML页面的简单服务器,一个用 localhost:3000/index
打开,另一个用 localhost:3000/about
打开 .
我知道如何让我的服务器显示一个HTML页面,但我很难添加另一个 . 我尝试了 if
语句,但它不起作用 . 这是我的代码:
let http = require("http");
let fs = require("fs");
let port = 3000;
let url = require("url");
let server = http.createServer((request, response) => {
if (page == "/index") {
fs.readFile("index.html", (err, data) => {
if (err) {
response.writeHead(404);
response.end("This file doesn't exist");
} else {
response.writeHead(200, {
"content-type": "text/html; charset=utf-8"
});
}
});
} else if (page == "/about") {
fs.readFile("about.html", (err, data) => {
if (err) {
response.writeHead(404);
response.end("This file doesn't exist");
} else {
response.writeHead(200, {
"content-type": "text/html; charset=utf-8"
});
}
});
}
response.end(data);
});
server.listen(port);
非常感谢您给我的帮助 . 美好的一天,
2 回答
而不是未定义的
page
变量,您应该使用request.url
并进行比较 .request.url
是没有服务器,协议或端口的完整URL .您可以将您的页面放在公共文件夹上并提供服务,您不必为每个页面硬编码 . 用这种方式你的代码看起来更干净 . 在下面的示例中,假设
public_html
是您的htlm页面所在的文件夹