an_modules library

Classes

AppInitializer
App的初始化管理器 用以自动化初始各个的模块配置信息 可能需要异步初始化
MIContext
MIController
Module
Modularization 模块抽象类
ModuleContainer
记录和管理模块合集
ModuleContainerInitializer
模块集成包的初始化管理器

Enums

MIState

Constants

kAppContainerId → const String
App(根)ModuleContainer 的 id
kCoreContainerId → const String
core ModuleContainer 的 id

Properties

app ModuleContainer
保持旧版兼容 但是由于存在冲突的可能行较大 所以调整为从 Module.app 来获取
no setter

Typedefs

MInitializer = Widget Function(Widget loading, Widget child)
当前模块需要进行 ui 等待式的初始化 会插入在 生成 Navigator 之前 loading 是加载时的 Widget 提供统一的样式
MInitializerErrorBuilder = Widget Function(BuildContext context, Object error, MIContext attempt, MIController controller)
MInitializerExecutor = FutureOr<void> Function(MIContext attempt)
ModulePackage = _ModuleContainer
ModulesInitializer = ModuleContainerInitializer
MPageBuilder = Widget Function(Object? arguments)
路由页面
MPageRouteBuilder<T> = PageRoute<T> Function(Object? arguments, Widget pageContent)
直接定义路由信息 pageContent 继续由 MPageBuilder 提供
MPageRouteGenerator<T> = PageRoute<T> Function(RouteSettings settings, Widget content)
page content widget 默认的 的路由生成器
MPageWrapper = Widget Function(Widget pageContent)
统一的路由页面的 wrapper 必须由 MPageBuilder 生成的 直接生成route的无效
MRouteParser = RouteSettings? Function(BuildContext context, RouteSettings settings)
路由解析器 返回 null 时,表示非当前模块内的路由 当前不关注 非常小心 注意死循环 context 是通过ModulesInitializer获取的 非Navigator 或者 Route 相关的context 请勿使用相关功能
MSInitializer = void Function(BuildContext context)
简易快速初始化器 只支持同步初始化