在我的 Dart 项目中 projectxyz
, 我在 myclass.dart
中声明了一个 Dart 类.在 main.dart
,Android Studio 给出了两种方式,都可以工作,但是我没看懂每种方式的优缺点是什么:import 'myclass.dart';
或者:import 'package:projectxyz/myclass.dart';
这两种方法有什么区别?
最佳答案
那要看如何main
文件本身被调用(以及它所在的位置)。
我会假设 main.dart
图书馆在 lib/
内目录,否则您将没有导入 myclass.dart
的两个选项.
如果您使用 file:
调用主文件URI,然后是 myclass.dart
的相对导入也将使用 file:
导入URI。由于 Dart 使用导入 URI 来区分不同的库,如果其他人导入 myclass.dart
使用 package:
URI,那么它将被视为两个不同的库,引入了具有相同名称的不同类。
它曾经是运行 dart lib/main.dart
会将其视为 file:
URI。 Dart 解析器在这方面变得更加智能,现在它可以识别 lib/
中的入口点库。目录应该是 package:
URI,并将入口点 URI 替换为 package:projectxyz/main.dart
.
之后,是否使用myclass.dart
都没有区别。或 package:projectxyz/myclass.dart
.
关于dart - 在 main 中导入 mydart.dart 文件的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58674499/