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
: 设置环境变量ENV
为prod
,可以在应用中通过String.fromEnvironment('ENV')
访问。
部署时需要注意:
-
Web服务器配置:
- 确保服务器支持二级路由和
base-href
设置,例如在 Nginx 中配置静态资源的根目录为/dev110/
。 - 配置路由重写规则,避免用户刷新页面时出现 404 错误。一般来说,应该重写所有路由请求到
index.html
。
- 确保服务器支持二级路由和
-
访问基础路径:
- 在生产环境访问
https://your-domain.com/dev110/
进行测试,确保所有资源加载正常。
- 在生产环境访问
这样就可以在指定路径上正常运行 Flutter Web 项目并且支持二级路由了。