【问题标题】:How to explicitly configure 'Content-Type' in Gulp task如何在 Gulp 任务中显式配置“Content-Type”
【发布时间】:2018-09-14 15:49:34
【问题描述】:

由于最近的浏览器更改,我遇到了Refused to execute script because its MIME type is not executable,这个问题会自行出现并自行消失。

我希望能够将 Content-Type 显式配置为所有脚本文件的应用程序/javascript,这样我的服务器就不会在响应标头中请求错误的 MIME 类型。

我有一个使用 Gulp 在 Babel 包中构建的网站。我在哪里可以配置这个?我看过 Express Node 项目 JavaScript MIME type is application/octet-stream nodejs 的示例,但没有看到 Babel 项目的示例。

【问题讨论】:

    标签: javascript gulp mime-types content-type babeljs


    【解决方案1】:

    这其实很常见。

    不推荐您建议的方法。你所做的只是掩盖一个将最终困扰你的问题。

    在网络面板中查找产生该错误的任何请求。查看针对该请求传输到浏览器的内容。您会看到它可能是您的 index.html(或等效)文件。

    这是因为大多数单页应用程序会将每个未找到的请求重定向到 index.html 或 404.html(或等效文件)文件。 (服务器功能称为 url-rewriting)。

    因此,最重要的是,当您请求 MIME 类型为 js 时,错误实际上表明一个未找到的资源返回为 MIME 类型 html。

    希望对您有所帮助。

    【讨论】:

    • 感谢您的意见。我的错误抱怨它是binary/octet-stream,即使我的脚本是普通的application/javascript。你有什么建议解决这个问题?
    • 从服务器下载的内容在网络中显示的是什么?
    • 现在它显示为 text/javascript 并且错误消失了,但我认为这不会永久保持这种状态,因为此错误昨天又出现并在几个小时内自行解决。
    • 请(暂时)删除其中一个有问题的JS文件,然后在出现错误时检查网络面板。
    • 假设暂时删除一个文件可以解决问题,但下一步是什么?我需要那个 js 文件。
    猜你喜欢
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2015-04-18
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 2017-09-02
    相关资源
    最近更新 更多