Dart 有导入别名吗?
Does Dart have import alias?
我发现自己在将文件导入 dart 文件时编写了乏味的代码,如下所示:
import '../../constants.dart';
我想知道是否有任何方法可以为特定文件夹创建别名,例如:
import '@shared/constants.dart';
谢谢,
贾维.
Dart 不允许您重命名导入的标识符,但它允许您指定导入前缀
import '../../constants.dart' as foo;
...
foo.ImportedClass foo = foo.ImportedClass();
它还允许过滤导入的标识符,例如
import '../../constants.dart' show foo hide bar;
另见
- https://www.dartlang.org/guides/language/language-tour#libraries-and-visibility
- What is the difference between "show" and "as" in an import statement?
桶形文件也可以使导入更容易,例如
lib/widgets/widgets.dart
export 'widget1.dart';
export 'widget2.dart';
export 'widget3.dart';
export 'widget4.dart';
lib/pages/page1.dart
import '../widgets/widgets.dart';
Widget build(BuildContext context) => Widget1();
没有。 Dart 没有导入别名。
但是你有绝对的进口来弥补它:
import 'package:my_lib/shared/constants.dart
这将导入文件 /lib/shared/constants.dart
我发现自己在将文件导入 dart 文件时编写了乏味的代码,如下所示:
import '../../constants.dart';
我想知道是否有任何方法可以为特定文件夹创建别名,例如:
import '@shared/constants.dart';
谢谢, 贾维.
Dart 不允许您重命名导入的标识符,但它允许您指定导入前缀
import '../../constants.dart' as foo;
...
foo.ImportedClass foo = foo.ImportedClass();
它还允许过滤导入的标识符,例如
import '../../constants.dart' show foo hide bar;
另见
- https://www.dartlang.org/guides/language/language-tour#libraries-and-visibility
- What is the difference between "show" and "as" in an import statement?
桶形文件也可以使导入更容易,例如
lib/widgets/widgets.dart
export 'widget1.dart';
export 'widget2.dart';
export 'widget3.dart';
export 'widget4.dart';
lib/pages/page1.dart
import '../widgets/widgets.dart';
Widget build(BuildContext context) => Widget1();
没有。 Dart 没有导入别名。
但是你有绝对的进口来弥补它:
import 'package:my_lib/shared/constants.dart
这将导入文件 /lib/shared/constants.dart