我正在制作一个非常简单的 Node 应用程序。我正在使用 CoffeeScript 和 Pug。
我用这段代码来设置静态文件:
app.use express.static('public')
这是我的文件树:
这工作正常:
link(rel="stylesheet" href="/css/index.css")
如您所见
但这不是:
script(src='/js/watch.js')
如您所见
我做错了什么?
您遇到的错误消息表明
localhost:3000
提供的资源的 MIME 类型与浏览器期望的 MIME 类型不匹配。 X-Content-Type-Options: nosniff
标头指示浏览器不要猜测 MIME 类型,而是使用提供的 MIME 类型。但是,如果资源的实际 MIME 类型与浏览器期望的不匹配,则可能会阻止资源加载。
您可以采取以下几个步骤来解决此问题:
检查 MIME 类型:验证
localhost:3000
处的服务器是否正确指定了所提供资源的 MIME 类型。它应该与发送的实际内容匹配。如果服务器未正确配置以发送正确的 MIME 类型,您需要调整其配置。
确保正确的 Content-Type 标头:确保服务器随响应一起发送正确的
Content-Type
标头。例如,如果所提供的资源是 HTML 文件,则服务器应在响应标头中包含 Content-Type: text/html
。
检查服务器配置:仔细检查
localhost:3000
运行的服务器的配置。确保将其设置为为其提供的不同类型的内容提供正确的 MIME 类型。
浏览器缓存:清除浏览器缓存并尝试再次访问资源。有时,浏览器可能会缓存不正确的 MIME 类型,导致即使在服务器端更正后问题仍然存在。
浏览器扩展:某些浏览器扩展或插件可能会干扰 MIME 类型检测过程。尝试禁用任何可能导致问题的扩展,看看是否可以解决问题。
通过执行以下步骤,您应该能够解决 MIME 类型不匹配问题并从
localhost:3000
加载资源,而不会遇到错误。