繁体   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