[英]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.