为Node.JS加载自定义CSS处理程序

时间:2017-06-22 21:11:07

标签: javascript html css node.js express

我有一个基本的Node.JS服务器设置,因为我正在做一个新的工作项目。我编写了优化函数,可以从HTML,JavaScript和CSS中删除不必要的内容,如制表符,换行符和注释。

由于某些奇怪的原因,当我将<link type="text/css" href="/css/bootstrap.mins.css">添加到我的头部时,它没有加载或显示在Google联网选项卡中。

主要的HTML加载的不是CSS。

服务器

app.get("/css/:file",function(req,res){
    logger.log("CSS File");
    res.writeHead(200, {"Content-Type": "text/css"});
    res.write(fs.readFileSync(appRoot + "/css/" + req.params.file,"utf8").optimize());
    res.end();
});

没有嵌套的CSS文件,全部在一个目录中。从理论上讲,这应该有效,但事实并非如此。当我转到直接URL时,它会加载并处理。不是来自 LINK

HTML Outline from Google Console Elements Tab.

加载HTML页面: The HTML did NOT load the CSS file.

直接加载CSS;它确实预处理: The RAW Link Loaded and was preprocessed.

1 个答案:

答案 0 :(得分:0)

好的,经过进一步研究,我发现上面的代码确实有效。我虽然有一点轻微失败。我错过了实际链接中的rel标记。 CSS加载完好并在此之后进行优化。

<head>
    <title>In House Tool</title>
    <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
</head>