node js - 拒绝应用css(MIME类型text / html)

时间:2018-06-19 02:35:45

标签: css node.js express socket.io

我正在尝试使用nodeJS,Express和socket.io在我的html中实现我的css但是我收到了错误:

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

注意:当我在localhost:8000(Node.js)中运行时,我只得到显示css文件的错误,但在我的普通index.html文件中没有。

这是我在index.js中的配置

var app = express()
   .use(SocketIOFileUpload.router)
   .get('/', function (req, res) {
      res.sendFile(__dirname + '/index.html');
   })

这是我的文件结构

  
      
  • 风格      
        
    • 的style.css
    •   
  •   
  • 图像
  •   
  • LIB
  •   
  • node_modules

      index.html
      appConfig.js
      index.js
  •   

到目前为止,我所做的是:

  • 我从
  • 更改了我的css脚本

<link rel="stylesheet" type="text/css" href="style/style.css"/>进入type="text/html":它确实删除了错误,但我的css仍然没有在html中应用

  • 检查了我的css文件名的拼写:名称或css路径上没有问题

我在互联网上搜索,但没有任何帮助。可能是我错误地配置了,因为我对配置并不熟悉,但我没有任何想法。任何帮助或提示区域真的很有帮助。谢谢!

2 个答案:

答案 0 :(得分:1)

你能列出你的目录结构吗?最初的错误是您希望将css应用于您的html文件,但是当节点返回时,css文件具有我的html类型。如果您手动将挖掘时间设置为html用于css文件,则在应用样式时,它肯定无法正常工作。你的css文件名和路径是什么?我猜测你的应用程序没有配置为提供css文件。当被问到css文件时,服务器可能正在响应404这是一个mime类型的html,因此出错。当您为css加载404页面时,请查看您的鼻子控制台日志。您必须向我们展示您在何处/如何为我们提供静态文件以帮助我们进一步提供帮助。 是的,你有style.css的样式,你需要相应地设置静态目录。这是一个参考

app.use(express.static('public'))

取自https://expressjs.com/en/starter/static-files.html 在您的情况下,您可以将您的图像和样式文件夹包装在公共场所,然后使用给定的示例。但是在生产中,您需要使用像Nginx这样的反向代理来提供静态文件。

答案 1 :(得分:0)

我的修复是 app.use(express.static(__dirname + '/'));