相关疑难解决方法(0)

Node/Express - 拒绝应用样式,因为它的MIME类型('text/html')

在过去的几天里,我一直有这个问题,似乎无法深究这个问题.我们正在做一个非常基本的节点/快速应用程序,并尝试使用以下内容提供我们的静态文件:

app.use(express.static(path.join(__dirname, "static")));
Run Code Online (Sandbox Code Playgroud)

这完全符合我的预期.我们的静态文件夹中有一些用于css和javascript的文件夹.我们正在尝试使用此静态路径将css加载到EJS视图中:

<link rel="stylesheet" type="text/css" href="/css/style.css">
Run Code Online (Sandbox Code Playgroud)

当我们/到达我们的路线时,我们获得了所有内容,但我们的CSS没有加载.我们特别得到这个错误:

拒绝从' http:// localhost:3000/css/style.css ' 应用样式,因为其MIME类型('text/html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查.

我尝试过的:

  1. 清除NPM缓存/全新安装
    • npm verify cache
    • rm -rf node_modules
    • npm install
  2. 清除浏览器缓存
  3. 对文件夹名称的各种修改和对它的引用
  4. 从href添加/删除正斜杠
  5. 将css文件夹移动到根目录并从那里提供服务
  6. 添加/删除斜杠 path.join(__dirname, '/static/')
  7. 有一个关于服务工作者的评论可能会在github问题报告中弄乱,并且似乎解决了很多人的问题.还有我们的本地主机没有服务人员:https://github.com/facebook/create-react-app/issues/658
    • 我们没有使用反应,但我正在抓住我能找到的任何谷歌搜索

路线:

app.get("/", function(req, res) {
    res.render("search");
});
Run Code Online (Sandbox Code Playgroud)

风景:

<!DOCTYPE html>
<html>
    <head>
        <title>Search for a Movie</title>
        <link rel="stylesheet" type="text/css" href="/static/css/style.css">
    </head>
    <body>
        <h1>Search for a movie</h1>
        <form method="POST" action="/results">
            <label for="movie-title">Enter a movie title:</label><br>
            <input id="movie-title" type="text" name="title"><br>
            <input type="submit" value="Submit Search">
        </form>
    </body> …
Run Code Online (Sandbox Code Playgroud)

static-files node.js mime-types express

12
推荐指数
4
解决办法
2万
查看次数

标签 统计

express ×1

mime-types ×1

node.js ×1

static-files ×1