NodeJS, MIME-тип ('text / html') не поддерживается MIME-типом таблицы стилей - PullRequest
1 голос
/ 15 февраля 2020

Каждый раз, когда я подключаюсь к своему локальному серверу в Google Chrome, я получаю эту ошибку:

Refused to apply style from 'http://localhost:2000/app.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

Я могу получить доступ к файлу css, набрав его путь, чтобы проблема не приходит оттуда. Я также искал информацию об этой топике c, но ничего не помогло.

Вот мой код

На стороне сервера

const Game = require("./class/game");
const express = require("express");
const app = express();
const serv = require("http").Server(app);

// Server
app.get("/", function(req, res) {
    res.sendFile(__dirname + "/client/index.html");
});
app.use("/client", express.static(__dirname + "/client"));

serv.listen(2000);
console.log("Server started on port 2000");


var io = require("socket.io")(serv, {});
io.sockets.on("connection", function(socket) {
    console.log("Connection done");
});

На стороне клиента

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js"></script>
    <link rel="stylesheet" type="text/css" href="./app.css">
    <title>Games</title>
</head>

<script>
    var socket = io();
</script>

<body>
    test
</body>

</html>

CSS

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: aquamarine;
}

1 Ответ

0 голосов
/ 15 февраля 2020

приложение. css должно быть подано с /client реж. Измените href, как показано ниже

href="/client/app.css">

В вашем случае браузер не может найти приложение. css и браузер может получить ответ, подобный приведенному ниже enter image description here

Это явно недопустимый ответ и Mime-тип для файла CSS. Вот почему вы получаете вышеупомянутую ошибку.

Поскольку вы определили содержание * stati c, которое будет показано ниже

app.use("/client", express.static(__dirname + "/client"));

Изменение href /app.css на /client/app.css будет решить вашу проблему при условии приложения. css присутствует в этом каталоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...