目前我使用 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 内容。)当然,我也重新启动了本地服务器。我还在开发工具中禁用缓存以确保我的浏览器继续下载最新文件。剩下的唯一选择是重新启动整个计算机。但就算能修好。我仍然想知道为什么会这样。
1 回答

皈依舞
TA贡献1851条经验 获得超3个赞
当您重写单页应用程序时通常会发生这种情况(例如{"source": "**", "destination": "/index.html"}
,您的<script>
标签具有无效的src
URL,因此index.html
改为提供。
我会检查以下问题:
js/modules.js
您是否使用来自非根 URL 的相对路径(例如)?您是否完全匹配输出文件的大小写?
当您尝试通过 URL 直接访问 JS 文件时会发生什么?
同样,问题不在于 JS 文件作为 HTML 提供,而是在找不到 JS 时提供默认的 HTML 文件。
添加回答
举报
0/150
提交
取消