flutter打包流程

本文记录在windows系统中,使用flutter框架开发的应用,web版本打发布包的流程。

1. 确保已开启 Web 支持

如果还没有显式启用过 Web 支持,在终端(CMD 或 PowerShell)中运行以下命令:

复制代码
flutter config --enable-web

然后运行 flutter doctor,确保 Chrome / edge 已列在可用设备中。

2. 清理环境并获取依赖

在打包之前,清理之前的构建缓存并重新拉取最新的依赖包,以避免出现缓存问题:

复制代码
flutter clean
flutter pub get

3. 执行打包命令

在你的项目根目录下运行构建命令。Flutter 默认会以 Release 模式 构建 Web 应用。

基础打包命令:

复制代码
flutter build web

高级选项:选择 Web 渲染器 (Web Renderer) Flutter Web 提供了不同的渲染引擎,你可以根据需求在打包时进行指定:

  • CanvasKit(默认选项):使用 WebAssembly 和 WebGL 渲染,性能最好,UI 与移动端保持高度一致,但首次加载需要额外下载一个 WebAssembly 文件(体积稍大)。

    Bash

    复制代码
    flutter build web --web-renderer canvaskit
  • HTML:使用标准 HTML 元素、CSS 和 Canvas。应用体积较小,对老旧浏览器兼容性更好,但在某些复杂 UI 下性能不如 CanvasKit。

    Bash

    复制代码
    flutter build web --web-renderer html

4. 获取打包产物

打包完成后,终端会提示构建成功。所有的发布包文件都会生成在你的项目目录下的这个路径中: 项目根目录\build\web

这个 web 文件夹包含了部署所需的所有静态文件(如 index.html、main.dart.js、assets 文件夹等)。只需要将整个 web 文件夹上传到Web 服务器即可。

PS: 如果是本地项目作为后端,做法是将web文件夹映射为http静态资源目录。 HTTP 静态资源服务可以分发 Flutter Web 的 index.html、js、css 资源。

cpp 复制代码
    HttpService router;
    router.document_root="./web";
    Router::RegisterAll(router);
相关推荐
好的佩奇0116 小时前
Dart 之类修饰符
android·flutter·dart
Jewel10517 小时前
文字为什么总是不居中!记录一个bug
android·flutter·ios
2601_949847752 天前
Form-data 跨端三方库仓颉适配全流程
前端·javascript·flutter
大龄秃头程序员2 天前
Flutter 中我为什么把 GetX 定位为高效率方案,而不是默认架构方案
flutter
传奇开心果编程2 天前
组合优先开发范式:从汉字造字原理到声明式UI组件组合思想
android·flutter·ios·swiftui·移动开发·harmonyos·android jetpack
2501_944521592 天前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
大龄秃头程序员2 天前
Flutter 架构里总被混淆的 IoC、DI、Service Locator,到底是什么关系?
flutter
事圆则缓3 天前
Flutter 与原生交互的最后一层:RTC 视频帧怎么走
flutter·音视频·实时音视频
2601_949847753 天前
jose 跨端三方库仓颉适配全流程
前端·javascript·flutter
2601_949970693 天前
msgpackr 跨端三方库仓颉适配全流程
前端·javascript·flutter