Firebase Hosting部署Flutter Web异常:仅4个文件被发布
Flutter Web部署Firebase Hosting文件不全&访问异常排查方案
先确认是否生成了完整的构建产物
部署Flutter Web前必须先执行flutter build web命令,这个命令会在项目根目录生成build/web文件夹,里面包含所有需要部署的静态资源(HTML、JS、CSS、图片等)。要是没跑这一步就直接部署,Firebase只会上传根目录里的零散文件,自然会出现只部署4个文件的情况。检查Firebase的public目录配置
执行firebase init时,当问到What do you want to use as your public directory?,必须输入build/web,不能填项目根目录或者其他文件夹。如果之前填错了,直接修改项目根目录下的firebase.json,把hosting里的public字段改成"build/web",示例配置:{ "hosting": { "public": "build/web", // 其他配置项 } }必须开启URL重写规则
Flutter Web是单页应用,所有路由请求都需要指向index.html,没开重写的话,刷新页面或者直接访问子路由会出现加载异常。在firebase.json里添加重写配置:{ "hosting": { "public": "build/web", "rewrites": [ { "source": "**", "destination": "/index.html" } ] } }重新部署验证
先重新执行flutter build web确保产物是最新的,再跑firebase deploy --only hosting重新部署,这时Firebase就会上传build/web里的所有文件了。
内容的提问来源于stack exchange,提问作者tHatpart
相关产品推荐
相关产品推荐

