Firebase Hosting为何上传全部源码?如何限制仅部署build文件夹
解决方案
- 第一步:清理历史残留文件
该问题大概率是首次部署时误将public参数配置为项目根目录,上传了全量源码,后续修改配置后Firebase默认采用增量部署,不会自动删除服务器上已存在的旧文件。执行以下命令部署时强制删除远程与本地build目录不匹配的多余文件:
也可以直接登录Firebase控制台的Hosting管理页,手动删除所有历史部署版本后再重新部署。firebase deploy --only hosting --delete-unmatched-files - 第二步:校验部署路径合法性
确保firebase.json放在项目根目录,与build文件夹同级,执行部署命令时的工作目录为项目根目录,不要进入build目录执行部署操作。你可以先执行以下命令预览待上传的文件清单,确认是否仅包含build目录下的产物:firebase deploy --only hosting --debug - 第三步:检查本地构建产物
打开本地项目的build文件夹,确认内部仅包含编译后的静态资源(js、css、html、静态资源文件等),不存在src目录、源码文件等内容。如果build目录内存在源码,需要检查你的React项目构建配置,排查是否有构建规则误将源码打包到产物目录。 - 可选:补充ignore规则(非必须)
如果你需要额外过滤build目录内的部分文件,可以在firebase.json的ignore数组中补充对应规则,你当前的配置已经符合仅上传build目录的要求,不需要额外修改。
内容的提问来源于stack exchange,提问作者Lakpriya Senevirathna
相关产品推荐
相关产品推荐

