我正在努力优化 Flutter Web 应用程序的初始页面加载。我正在研究的一种方法是通过使用
延迟加载将其分成多个部分来减少
main.dart.js
的二进制大小。
go_router
据我所知它不支持延迟加载。我听说过 auto_route
据说支持此类功能,但它未记录。
在auto_route中你所要做的就是在注释中添加
deferrerdLoading: true
,例如:
@RoutePage(deferredLoading: true)
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
MyCustomFormState createState() {
return MyCustomFormState();
}
}
然后运行 build_runner 并查看生成的文件,它将包含
loadLibrary
内容以及在获取库时打印一些加载的 DeferredWidget
。