Flutter Web部署到子路径的打包指令

打包指令:

复制代码
flutter build web --web-renderer canvaskit --base-href /dev110/ --no-tree-shake-icons --dart-define=ENV=prod

参数说明:

  • --web-renderer canvaskit: 使用 canvaskit 渲染模式,可以提高图形和动画的质量。
  • --base-href /dev110/: 设置应用程序的基础路径为 /dev110/,这适合部署在子路径的情况。确保服务器支持路径下的静态资源。
  • --no-tree-shake-icons: 禁用图标的 tree shaking,确保所有图标资源在打包时保留。
  • --dart-define=ENV=prod: 设置环境变量 ENVprod,可以在应用中通过 String.fromEnvironment('ENV') 访问。

部署时需要注意:

  1. Web服务器配置

    • 确保服务器支持二级路由和 base-href 设置,例如在 Nginx 中配置静态资源的根目录为 /dev110/
    • 配置路由重写规则,避免用户刷新页面时出现 404 错误。一般来说,应该重写所有路由请求到 index.html
  2. 访问基础路径

    • 在生产环境访问 https://your-domain.com/dev110/ 进行测试,确保所有资源加载正常。

这样就可以在指定路径上正常运行 Flutter Web 项目并且支持二级路由了。

相关推荐
落叶飘飘s2 小时前
餐饮服务与软件创新的融合:解析海底捞 APP 的 Flutter 鸿蒙开发之路
flutter·华为·harmonyos
起司喵喵5 小时前
Flutter-MacOS桌面OS系统|flutter.+window_manager客户端OS模板
flutter·macos·策略模式
Wuxiaoming13515 小时前
flutter app的logo和splash logo尺寸
flutter
GitLqr18 小时前
深入理解 Flutter 架构:从 Widget 到 GPU 像素的全链路解析
flutter·面试·dart
SoaringHeart21 小时前
Flutter进阶|最佳实践:组件内阴影实现
前端·flutter
玛艾露贝1 天前
Supabase云同步架构:Flutter应用的数据同步策略
flutter·架构
魔力女仆1 天前
Flutter 复杂拖拽排序实战:同源排序 + 跨容器拖拽完整落地
flutter
杉氧1 天前
状态管理大对决:在 Flutter 实战中如何优雅地管理共享状态?
android·前端·flutter
恋猫de小郭1 天前
Flutter Starling : 用 Swift和 Flutter 写了一个 Linux 桌面系统,震惊我一整年
android·前端·flutter