我收到一个运行时错误,其内容如下:
Unhandled exception:
type 'A' is not a subtype of type 'A' of 'x' where
A is from file:///path/to/source/a.dart
A is from package:my_package/a.dart
A
与其他A
完全相同的类型 - 没有命名冲突。
两条缩进行(' A来自......')仅在指定路径方面有所不同。一个人经历了包装:'第二个是文件系统上的文件路径。
答案 0 :(得分:7)
在任何地方使用import 'package:...'
,即使从您自己的软件包导入文件也是如此。
两个网址(file:///...
和package:...
)相同,但Dart无法知道这一点。当您通过相对路径和package:
方案导入源时,您将收到此错误。
要解决此问题,请确保在您自己的程序包中导入文件时保持一致。
在文件foo.dart中:
import '../path/to/a.dart';
在文件bar.dart中:
import 'package:my_package/a.dart';
这会导致错误。
在文件foo.dart中:
import 'package:my_package/a.dart';
在文件bar.dart中:
import 'package:my_package/a.dart';
这没关系。