簡體   English   中英

如何使用 express.js 提供靜態文件

[英]How to serve static files with express.js

我正在嘗試使用 express.js 提供靜態文件。

const express = require('express')
const app = express()
app.use(express.static('public'))
app.listen(8888, () => console.log('listening on port 8888!')) 

但我收到錯誤:拒絕應用來自“ http://localhost:8888/static/css/main.5a7f7b3b.css ”的樣式,因為它的 MIME 類型(“text/html”)不是受支持的樣式表 MIME 類型,並啟用了嚴格的 MIME 檢查。 知道我做錯了什么嗎?

我可能遲到了,但我剛剛找到答案,在其他任何地方都找不到,所以我將其發布:

您的代碼的問題是,它會正確地提供 index.html,但是當它加載 .css 文件(鏈接在 .html 文件中)時,應用程序將通過再次發送 .html 文件來響應。 您的瀏覽器期望獲得 .css 文件,但實際上獲得了 .html 文件,這導致了錯誤。

這將修復它:

const express = require('express')
const path = require('path');
const app = express()
app.use(express.static('public'))
app.get("*", (req, res) => {
    res.sendFile(path.join(__dirname, "./path/To/Your/Dir"));
}); 
app.listen(8888, () => console.log('listening on port 8888!')) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM