我正在使用ejs处理node.js(express),我无法在其中包含.css文件 它浏览器显示以下错误。
localhost/:1 Refused to apply style from
'http://localhost:3000/posts/app.css' because its MIME type
('text/html') is not a supported stylesheet MIME type, and strict MIME
checking is enabled.
我的app.js如此:
var express = require('express');
var app = express();
app.use(express.static("public"));
app.get("/",function(req,res){
res.render("home.ejs");
});
app.get("/posts",function(req,res){
var posts = [
{title : "Post 1",author : "Malinda"},
{title : "Hello Sri Lankda",author : "Supun"},
{title : "Hello World",author : "Gokula"}
]
res.render("posts.ejs",{posts : posts});
});
app.listen(3000,function(){
console.log("Server Started");
});
和posts.ejs文件
<link rel="stylesheet" type="text/css" href="app.css">
<h1>The Post Page</h1>
<p>Using For Loop</p>
<% for(var i =0; i < posts.length; i++){ %>
<li>
<%= posts[i].title%> - <strong><%= posts[i].author%></strong>
</li>
<% } %>
<br><br>
<p>Using For Each Loop</p>
<% posts.forEach(function(post){ %>
<li>
<%= post.title%> - <strong><%= post.author%></strong>
</li>
<% }) %>
和css文件
body{
background : yellow;
color : red;
}
请任何人帮我找出问题所在
答案 0 :(得分:1)
检查Node/Express - Refused to apply style because its MIME type ('text/html') 似乎是同样的问题。尝试在
之后删除多余的空格app.css
可能你的文本编辑器没有检测到它。
答案 1 :(得分:1)
在post.ejs的link标签中使用href =“/ app.css”。你必须在那里使用“/”
答案 2 :(得分:0)
资源app.css是静态的,因此需要在服务器设置中指定。
将此内容写在app.listen之前-app.use('/ css',express.static('css'));
这里CSS是根目录下的一个文件夹,现在您可以在该文件夹中获取所有CSS文件。