尝试将.css添加到.ejs文件时出错

时间:2018-04-01 07:45:38

标签: css node.js express ejs

我正在使用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;
}

请任何人帮我找出问题所在

3 个答案:

答案 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文件。