node使用express搭服务器,静态资源 被阻止因为 MIME 类型(“text/html”)不匹配(X-Content-Type-Options: nosniff)

本文描述了使用Node.js和Express框架搭建服务器时遇到的静态资源加载失败问题,并给出了详细的排查和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

node使用express搭服务器,静态资源 被阻止因为 MIME 类型(“text/html”)不匹配(X-Content-Type-Options: nosniff)

报错如图所示
资源被阻止

描述

使用gulp作为项目构建工具,结果发现把生成的项目放到express的静态资源目录下时,发现只能加载html文件,html头部引入的js和css文件都访问不了。

过程

后来尝试在地址栏直接访问这些静态资源,发现也不成功。那直接打开本地文件好了,然后把头部引入的css、js文件修改为本地路径,发现还是访问不了。这下就疑惑了,然后百度,看scdn。还挺多人碰到这个问题的,看了几个,他们的问题主要是:

  • 外链资源的地址是相对于本地的路径,放到express时忘记改为服务器访问的相对路径
  • js文件有语法错误

我的解决

从上面的问题看已看出,这个问题主要是自己操作上的疏忽,和express还是项目构建工具都无关(我一度怀疑是不是我把html文件的头部和内容区域切割成两个文件,然后用gulp重新拼接导致的问题)

按照这个思路,从自己的操作上找问题,最终发现是在构建项目时,忘记让gulp把放外链资源的文件夹打包进项目里了。文件都没有放进来,express自然访问不了。然后就报错了。

折腾了一阵,结果是忘记把放css和js资源的文件夹放到服务器上面。如果你也碰到这个问题,大概率是自己某个操作出了问题,这得自己发现了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值