html页面加载,但CSS不在node js应用程序



我使用纯node js制作了一个天气应用程序,但最终当我加载网站时,它只加载HTML网站并注意CSS。这是我的index.js

const fs = require("fs");
const http = require("http");
var requests = require("requests");
const homeFile = fs.readFileSync('home.html', 'utf-8');

const replaceVal = (tempVal, orgVal) => {
let temperature = tempVal.replace("{%tempVal%}", orgVal.main.temp);
temperature = temperature.replace("{%minTemp%}", orgVal.main.temp_min);
temperature = temperature.replace("{%maxTemp%}", orgVal.main.temp_max);
temperature = temperature.replace("{%country%}", orgVal.sys.country);
return temperature;
}

const server = http.createServer((req, res) => {
if (req.url == '/') {
requests('https://api.openweathermap.org/data/2.5/weather?q=Pune&appid=0bfd89f4982a2d416a4ac5d299d03f9e&units=metric')
.on('data', function (chunk) {
const objData = JSON.parse(chunk);
const arr = [objData];
const realTimeData = arr.map(val => {
return replaceVal(homeFile, val);
}).join("");
res.write(realTimeData);
})
.on('end', function (err) {
if (err) return console.log('connection closed due to errors', err);

res.end();
});
}
});
server.listen(8000, "127.0.0.1");

有谁能帮忙解决这个问题吗?

看起来您只发送homeFile到您的响应路径"/"如果你想输出你的css,你将需要另一个路径匹配任何css文件。这样,当你的html文件向服务器请求css文件时,它就可以请求了。

if(req.url === "/"){
//send html here
}else if(req.url.match(".css$")){
//send css here
}

最新更新