Firebase Hosting部署后包含开发文件问题求助
Vue + Firebase Hosting部署后,Chrome DevTools Sources出现含开发文件的guava文件夹问题排查与解决
我有一个通过Firebase Hosting部署的Vue.js/Firebase应用,部署后在Chrome DevTools的Sources标签下出现了名为guava(我的应用版本名)的文件夹,里面包含src等大部分开发环境的文件。我已经尝试了以下方法但问题仍未解决:
- 使用
npm run build+firebase deploy,确认部署分支和dist文件夹内容无误 - 本地构建完成后,
dist文件夹中不存在任何开发文件 - 构建日志中没有记录这些开发文件被包含的信息
- 清除浏览器缓存、更换浏览器后问题依然存在
- 清空
dist文件夹后重新部署,尝试清除Firebase Hosting缓存 - 在
firebase.json中添加忽略规则无效,当前配置如下:
{ "firestore": { "rules": "firestore.rules", "indexes": "firestore.indexes.json" }, "hosting": { "public": "dist", "target": "web", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**", "**/guava/**", "**/src/**" ], "rewrites": [ { "source": "/guava{,/**}", "destination": "/404.html" } ] }, "storage": { "rules": "storage.rules" }, "functions": { "source": "functions" }, "extensions": { } }
可能的解决方法
1. 关闭Vue生产构建的source map
Vue默认在生产构建时会生成source map,Chrome会通过source map映射加载并显示原始开发文件。在vue.config.js中关闭该配置:
module.exports = { productionSourceMap: false }
修改后重新执行npm run build和firebase deploy。
2. 清理Firebase Hosting旧版本与缓存
登录Firebase控制台,进入Hosting页面的「版本历史」,删除所有旧版本;部署时添加目标参数确保只部署指定环境:
firebase deploy --only hosting:web
也可在Hosting设置中配置更严格的缓存策略,强制失效旧缓存。
3. 排查部署流程是否误传文件
如果使用CI/CD工具(如GitHub Actions),检查配置文件是否仅上传dist文件夹内容;用Firebase CLI查看部署的文件列表:
firebase hosting:list
或下载部署文件到本地验证:
firebase hosting:download ./hosting-download
若下载文件中确实存在guava/src文件夹,说明部署过程有误,需调整部署逻辑。
4. 检查预览通道与自定义部署脚本
若使用了Firebase Hosting预览通道,关闭未使用的通道;检查自定义部署脚本,确保仅处理dist目录,未混入开发文件。
内容的提问来源于stack exchange,提问作者jeff3546
相关产品推荐
相关产品推荐

