1. Container 设置最大和最小宽度
Container(
width: 220, // 宽度
constraints: BoxConstraints(
minWidth: 200, // 最小宽度
minHeight:200,
maxWidth: 500, // 最大宽度
maxHeight:500,
),
2. flutter打包
旧项目开启web端构建
flutter config --enable-web
web的渲染模式
HTML渲染模式
flutter会采用HTML的custom element,CSS,Canvas和SVG来渲染UI元素。
优点:应用体积更小。
缺点:渲染性能差;跨端一致性可能受影响。
打包命令: flutter build web --web-renderer html
CanvasKit渲染模式
当canvaskit渲染模式:flutter将 Skia 编译成 WebAssembly 格式,并使用 WebGL 渲染。应用在移动和桌面端保持一致,有更好的性能,以及降低不同浏览器渲染效果不一致的风险。但是应用的大小会增加大约 2MB。
打包命令:flutter build web --web-renderer canvaskit
优点:像素级跨端一致性、更好的渲染性能。
缺点:应用体积变大,需要加载一个2.5MB的webaseembly格式的代码。
auto的渲染模式(默认)
会自动根据是运行在移动浏览器端还是桌面浏览器端来选择渲染模式。
实践遇到的问题
命令1 flutter build web --release
使用该命令打包的工程,放置在http链接下的时候,无法显示 image的图片。
目前发现比较好用的是这个:
flutter build web --release --dart-define=FLUTTER_WEB_CANVASKIT_URL=./canvaskit/ --web-renderer canvaskit
其中中间那段是将 canvaskit 使用本地的,节约整体下载的时间。
参考链接: https://blog.csdn.net/LucasXu01/article/details/125475627
https://zhuanlan.zhihu.com/p/511181734
3. flutter运行命令
运行到web端的命令:
flutter run -d chrome --web-port=8080