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

f45qwnt8  于 2023-01-22  发布在  其他
关注(0)|答案(1)|浏览(183)

我使用纯节点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");

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

nhjlsmyf

nhjlsmyf1#

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

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

相关问题