【问题标题】:Does Dart have import alias?Dart 有导入别名吗?
【发布时间】:2019-05-13 11:35:28
【问题描述】:

在将文件导入 dart 文件时,我发现自己编写了繁琐的代码,如下所示:

import '../../constants.dart';

我想知道是否有任何方法可以为特定文件夹创建别名,例如:

import '@shared/constants.dart';

谢谢, 哈维。

【问题讨论】:

  • 这不是别名,但在 Flutter 中可以进行一次导入,其中包括一些不同的导入。也许它可以帮助缩短您的进口时间

标签: dart flutter dart-pub


【解决方案1】:

Dart 不允许您重命名导入的标识符,但它允许您指定导入前缀

import '../../constants.dart' as foo;

...

foo.ImportedClass foo = foo.ImportedClass();

它还允许过滤导入的标识符,如

import '../../constants.dart' show foo hide bar;

另见

桶文件也可以使导入更容易,例如

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();

【讨论】:

  • 这不是我们要求的
  • 我明白了。不,没有这样的事情。您可以使用 package:my_package/... 导入,但通常不会更短。
  • 正如@RémiRousselet 评论的那样,我会选择那个解决方案。干杯伙计们:D
  • 我只想说声谢谢。在我学习 Dart / Flutter 大约 3 个月的时间里,我很容易从您对 STO 上的 Dart / Flutter 主题的回答中了解一些基本概念。
【解决方案2】:

没有。 Dart 没有导入别名。

但是你有绝对的进口来弥补它:

import 'package:my_lib/shared/constants.dart

这将导入文件/lib/shared/constants.dart

【讨论】:

  • 值得注意的是,my_lib 等于 pubspec.yaml 中项目的 name
猜你喜欢
  • 2021-10-29
  • 2016-02-14
  • 2020-12-22
  • 2018-01-23
  • 2022-12-04
  • 1970-01-01
  • 2020-01-11
  • 2015-12-26
  • 2016-04-07
相关资源
最近更新 更多