滑动启动后导入不明确

问题描述


我刚开始使用Flutter,一直在寻找这个问题,却一无所获。
我运行命令slidy start来创建我的项目结构。但是现在,我在应用模块中收到此错误导入路由器冲突:

名称“路由器”在库“ package:Flutter / src / widgets / router.dart”和“ package:Flutter_modular / src / routers / router.dart”中定义(通过package:Flutter_modular / Flutter_modular.dart) 。\ n请尝试对其中一个导入指令使用“作为前缀”,或对除其中一个导入以外的所有内容隐藏名称。”

这是我现在的课程:

import 'app_controller.dart';
import 'package:Flutter_modular/Flutter_modular.dart';
import 'package:Flutter/material.dart';
import 'package:slidy_aula2_v1/app/app_widget.dart';
import 'package:slidy_aula2_v1/app/modules/home/home_module.dart';

class AppModule extends MainModule {
  @override
  List<Bind> get binds => [
        Bind((i) => AppController()),];

  @override
  List<Router> get routers => [
        Router(Modular.initialRoute,module: HomeModule()),];

  @override
  Widget get bootstrap => AppWidget();

  static Inject get to => Inject<AppModule>.of();
}

你们都知道如何解决吗?

解决方法

您有两个Router类

package:flutter / src / widgets / router.dart

package:flutter_modular / src / routers / router.dart

为flutter_modular包定义前缀:

import 'package:flutter_modular/flutter_modular.dart' as ModularRouter; 

如果在flutter_modular中使用Router类,请将Router更改为ModularRouter.Router。

class AppModule extends MainModule {
  @override
  List<Bind> get binds => [
        Bind((i) => AppController()),];

  @override
  List<ModularRouter.Router> get routers => [
        ModularRouter.Router(Modular.initialRoute,module: HomeModule()),];

  @override
  Widget get bootstrap => AppWidget();

  static Inject get to => Inject<AppModule>.of();
}