我正在使用Nodejs,Express,MySQL,EJS。
我需要创建一个如下所示的URL:/ nameOfPage / postl
问题是:/ nameOfPage / postl没有显示相应文件的css,而/ nameofPage确实可以正常工作。它只呈现HTML并在控制台中显示此错误。 "Refused to apply style from 'http://localhost:3000/why/word.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled."
我用Google搜索了问题并给链接标记一个“type =”text / html“删除了错误但是CSS仍然无法正常工作。(我尝试使用和不使用类型,我将类型更改为css而不是HTML,没有任何帮助)
可能出现问题的部分是错误中的URL“http://localhost:3000/why/word.css”,URL的第一个参数与CSS文件有什么关系?我假设它正在尝试阅读它,但我不知道如何解决它。 (我有一个“单词”EJS和CSS文件)
我从MySQL获取页面名称并循环遍历它们并创建适当的页面。
(这是我正在使用的测试代码)
app.get("/why/anele", function(req,res){
let outsideL =5;
let outsideisAuthL =5;
let outsideUsernameL = 5;
outsideL = 5;
let name = 5;
let title = 5;
let description = 5;
let sidebar = 5;
let submissiontext = 5;
outsideUsernameL = 5;
let isAuthenticated = 5;
res.render("word", {name: name, description: description, sidebar:sidebar, submissiontext:submissiontext, outsideUsernameL:outsideUsernameL, outsideisAuthL:outsideisAuthL, outsideL:outsideL})})
将“/ why / anele”更改为“/ why”确实有效,但我需要“/ why / anele”才能工作。 (/为什么/也不起作用)
“word”EJS文件的头部。
<head>
<title>This is the Title This is the Title This is the Title</title>
<meta name="keywords" content=" vote, comment, submit ">
<meta name="description" content="internet">
<meta name="referrer" content="origin">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="word.css">
</head>
答案 0 :(得分:0)
当你链接你的css文件时:
<link rel="stylesheet" href="word.css">
您的服务器无法理解根目录中的css文件,它会在提供的路径中进行搜索。
为了纠正这个问题,只需按照这个
<link rel="stylesheet" href="/word.css">