首页 > 解决方案 > 为什么flutter build web制作的app有时候不能用?

问题描述

我有 2 个仅在执行时出现的问题flutter build web

  1. 有时flutter build web无法(错误地)抱怨不兼容的类型(见下文)。
  2. 有时构建过程完成,但 Web 应用程序不起作用:不显示任何内容并且控制台中没有消息。

我提到的错误是这样的:

% flutter build web
Target dart2js failed: Exception: lib/main.dart:24:31:                  
Error: A value of type 'ApiUsersRepository' can't be assigned to a variable of type 'UsersRepository'.
 - 'ApiUsersRepository' is from 'package:my_app/api_users_repo.dart' ('lib/api_users_repo.dart').
 - 'UsersRepository' is from 'lib/users_repo.dart'.
  final UsersRepository usersRepository = ApiUsersRepository();
                              ^
Error: Compilation failed.

该应用程序在开发时可在 iOS 和 Web 中运行。

标签: flutterdart

解决方案


解决方案

我更改了所有文件的导入,例如:

import 'package:my_app/users_repo.dart';

至:

import 'users_repo.dart';

更多细节

调查有关类型的错误,我发现了这个问题,其中重要的部分是这条评论:在将每个导入更改为相对格式后,它解决了我的问题

所以我这样做了,它解决了两个问题,编译错误和运行时错误。


推荐阅读