Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS,MIME类型(';text/html';)不是受支持的样式表MIME类型_Javascript_Node.js_Express_Server_Socket.io - Fatal编程技术网

Javascript NodeJS,MIME类型(';text/html';)不是受支持的样式表MIME类型

Javascript NodeJS,MIME类型(';text/html';)不是受支持的样式表MIME类型,javascript,node.js,express,server,socket.io,Javascript,Node.js,Express,Server,Socket.io,每次我在Google Chrome上连接到本地服务器时,都会出现以下错误: 拒绝应用来自的样式'http://localhost:2000/app.css'因为它的MIME类型('text/html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查。 我可以通过键入css文件的路径来访问它,这样问题就不会从那里产生。 我也搜索了关于这个主题的信息,但没有任何效果 这是我的密码 服务器端 const Game = require("./class/game"); const expr

每次我在Google Chrome上连接到本地服务器时,都会出现以下错误:

拒绝应用来自的样式'http://localhost:2000/app.css'因为它的MIME类型('text/html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查。

我可以通过键入css文件的路径来访问它,这样问题就不会从那里产生。 我也搜索了关于这个主题的信息,但没有任何效果

这是我的密码

服务器端

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


app.css应通过
/client
目录提供。更改
href
如下

app.use("/client", express.static(__dirname + "/client"));
href=“/client/app.css”>

在您的情况下,浏览器无法找到app.css,浏览器可能会收到类似的响应,如下所示

这显然不是CSS文件的有效响应和Mime类型。这就是为什么会出现上述错误

正如您定义的,静态内容如下所示

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

href
/app.css
更改为
/client/app.css
将解决您的问题,前提是app.css位于该目录中。

请记住,如果您的路由是其他路由的子字符串,请按“最特定”到“最不特定”的路由顺序指定路由。你的
/
总是排在最后,因为否则它只会对所有事情起作用,因为所有事情都是从
/
开始的。在这种情况下:首先是静态的,然后是根目录。谢谢,因为我是Node JS初学者,我还没有真正理解文件是由服务器“发送”的:)不用担心,在编写更多代码时,您会相处得很好。但是我的回答解决了你的问题吗?是的,它解决了,泰:)请随意投票,它激励我给出更多和最好的答案。我已经做到了,但我不能,因为我的声誉不到15:(
app.use("/client", express.static(__dirname + "/client"));