Firebase 工具错过了在本地测试模式下将我的 Js 文件作为 HTML 文件发送

目前我使用 firebase-hosting 和 firebase-database 来部署静态页面网络应用程序。我在测试本地托管时遇到问题。我的两个 Js 文件之一,modules.js和main.js,作为 html 文件发送。所以在我的客户端浏览器 (Firefox) 中,控制台总是出现这个错误:


Uncaught SyntaxError: expected expression, got '<'

我试图更改headersFirebase 配置中的项目:


"headers": [

    {

        "source": "**/*.@(js)",

        "headers": [

            {

                "key": "Content-Type",

                "value": "application/javascript; charset=utf-8"

            }

        ]

    }

]

即使标头已更改,该文件仍提供 HTML 内容。(在网络选项卡中,它说 js,但它的响应仍然是 html 内容,而不是 js 内容。)


当然,我也重新启动了本地服务器。我还在开发工具中禁用缓存以确保我的浏览器继续下载最新文件。剩下的唯一选择是重新启动整个计算机。但就算能修好。我仍然想知道为什么会这样。


富国沪深
浏览 131回答 1
1回答

皈依舞

当您重写单页应用程序时通常会发生这种情况(例如{"source": "**", "destination": "/index.html"},您的<script>标签具有无效的srcURL,因此index.html改为提供。我会检查以下问题:js/modules.js您是否使用来自非根 URL 的相对路径(例如)?您是否完全匹配输出文件的大小写?当您尝试通过 URL 直接访问 JS 文件时会发生什么?同样,问题不在于 JS 文件作为 HTML 提供,而是在找不到 JS 时提供默认的 HTML 文件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript