VS Code/Live Server加载JS文件出现MIME Type错误求助
Hey,我来帮你拆解这些错误,先搞定核心问题,再处理那些无关的干扰项:
一、核心问题:JS文件MIME类型不匹配(导致加载失败)
这个是最关键的错误——你的script.js被浏览器当成HTML文件拦截了,根本原因是Live Server找不到你指定的JS文件,返回了404错误页面(HTML格式),而浏览器期望的是JS类型的资源,所以触发了X-Content-Type-Options: nosniff的拦截。
结合你的代码和场景,大概率是文件路径写错了:
你HTML里的脚本路径是../js/script.js,这里的../代表向上跳一级目录。你得先确认你的仓库文件结构:
举个例子,如果你的仓库结构是这样的:
你的仓库/ ├─ js/ │ └─ script.js ├─ css/ │ └─ styles.css └─ index.html <!-- 你的HTML文件在这里 -->
那../js/script.js就会跳出仓库目录,肯定找不到文件,这时候应该改成src="js/script.js"(去掉前面的../)。但如果你的HTML文件是在某个子文件夹里(比如html/文件夹),那../js/script.js才是正确的。
另外,还要注意Live Server的启动方式:在VS Code里右键点击你的HTML文件,选择Open with Live Server,而不是随便在某个文件夹启动服务器——这样能保证服务器的根目录和你的HTML文件所在目录匹配,路径解析才不会错。
你可以直接验证路径是否正确:在浏览器地址栏输入http://localhost:5500/js/script.js,如果能看到console.log('test')的代码,说明路径没问题;如果跳转到404页面,那肯定是路径错了,赶紧调整HTML里的src值。
二、无关干扰:Firefox扩展的源映射错误
这个错误和你的代码半毛钱关系都没有!是你安装的某个Firefox扩展(看起来是用到browser-polyfill.js的扩展)自身的源映射文件加载失败了。解决起来很简单:
- 暂时禁用所有Firefox扩展,看看这个错误会不会消失;
- 如果确定是某个扩展搞的鬼,要么更新它,要么卸载重装就行。
三、验证修复的步骤
- 把JS路径改对之后,重启Live Server;
- 打开Firefox的开发者工具(F12),切换到「网络」标签,刷新页面;
- 找到
script.js的请求,如果状态是200 OK,说明加载成功了,这时候控制台应该会输出test,问题就解决啦~
内容的提问来源于stack exchange,提问作者Ni.c0de.mus

