isa*_*ing 4 html javascript css static express
我正在使用express和node。在我的server.js文件中,我有这段代码:
app.use(express.static('/static'));
Run Code Online (Sandbox Code Playgroud)
然后在我的静态目录中,我有一个CSS文件夹,然后是一个style.css文件。在我的中index.html,我像这样链接到工作表:
<link rel="stylesheet" type="text/css" href="/static/css/style.css">
Run Code Online (Sandbox Code Playgroud)
但是,在我的本地主机中,我继续收到此错误:
拒绝从' http:// localhost:3500 / static / css / style.css ' 应用样式,因为它的MIME类型('text / html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查。
我确定标记中的路径名正确,并且我对为什么收到此错误感到困惑。我需要声明将CSS文件处理为CSS而不是HTML吗?我说的时候不这样做type="text/CSS"吗?如果没有,我需要在服务器文件中放入什么来解决此问题?
app.use(express.static('/static'));
Run Code Online (Sandbox Code Playgroud)
表示静态文件实际上是从提供的/static。在基于Unix的操作系统中,这是目录root的直接子级/。我认为您不这样做,但您不应该存储文件,更不用说该目录中的公共可访问文件了。相反,您可能正在寻找的是static您应用程序目录中的目录。
您可以通过以下方法告诉Express将其用于服务器文件:
app.use(express.static(__dirname + "/static"));
Run Code Online (Sandbox Code Playgroud)
发生MIME类型错误,因为送达的文件很可能是Express制作的“ 404 Not Found”页面,因为找不到文件。
如果您无法在HTML中包含文件,请始终进行两次检查,甚至最好进行三重检查,以确保可以首先通过浏览器访问该文件。
此外,文件然后位于/ ...,而不是/ static /...。