簡體   English   中英

Jade/pug 將 javascript 文件的 MIME 類型設置為 text/html

[英]Jade/pug setting MIME type of javascript file to text/html

嘿,我一直在嘗試使用 jade/pug 讓我的 node.js 后端在前端呈現我的頁面。 我需要包含一些 javascript 才能使某些功能正常工作,但我似乎無法正確加載它。 我收到此錯誤:

“來自“ http://localhost:3000/public/javascript/newCust.js ”的腳本被加載,即使它的 MIME 類型(“text/html”)不是有效的 JavaScript MIME 類型。

源“ http://localhost:3000/public/javascript/newCust.js ”的新加載失敗。”

我嘗試將內容類型設置為 javascript 並嘗試移動目錄以幫助解決問題。

script(type='text/javascript' src='public/javascript/newCust.js')

我看到您已將靜態 javascript 文件放在正確的位置,即在名為 public 的文件夾中。 但是,為了提供所有靜態文件:html、css 和 javascript 文件,您需要在入口點添加一個內置的中間件函數,即express.static() ,通常是 app.js 或 index.js 文件,像這樣:

app.use(express.static('public'));
// you can also use the absolute path, using npm package named path like below :
// app.use(express.static(path.join(__dirname, 'public')));

express.static() 函數會將您的靜態 JavaScript 文件與該公共文件夾結合起來。 因此,在你的 pug 文件中,你應該寫如下:

script(type='text/javascript' src='./javascript/newCust.js')

不是

script(type='text/javascript' src='./public/javascript/newCust.js') 

您甚至不需要在該腳本標簽中添加 MIME 類型,因為默認情況下,腳本標簽將具有正確的 MIME 類型:

type='text/javascript'

嘗試添加和不添加該 MIME 類型,兩者都應該有效。

有關使用 express.static() 函數的更多詳細信息,您可以閱讀Express 內置中間件函數:express.static()

暫無
暫無

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

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