我得到一个运行时错误,其内容如下:
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
Run Code Online (Sandbox Code Playgroud)
A是与另一种完全相同的类型A - 没有命名冲突.
两条缩进行('A来自......')仅在指定路径方面有所不同.一个通过'package:',第二个是文件系统上的文件路径.
import 'package:...'即使从您自己的包中导入文件,也可以随处使用.
两个URL(file:///...和package:...)是等价的,但Dart无法知道这一点.当您通过相对路径和package:方案导入源时,您将收到此错误.
要解决此问题,请确保在您自己的包中导入文件的方式保持一致.
在文件foo.dart中:
import '../path/to/a.dart';
Run Code Online (Sandbox Code Playgroud)
在文件bar.dart中:
import 'package:my_package/a.dart';
Run Code Online (Sandbox Code Playgroud)
这会导致错误.
在文件foo.dart中:
import 'package:my_package/a.dart';
Run Code Online (Sandbox Code Playgroud)
在文件bar.dart中:
import 'package:my_package/a.dart';
Run Code Online (Sandbox Code Playgroud)
这没关系.
| 归档时间: |
|
| 查看次数: |
546 次 |
| 最近记录: |