Does Dart have import alias?

Javier Rodriguez picture Javier Rodriguez · Dec 12, 2018 · Viewed 8.5k times · Source

I found myself written tedious code when importing files into dart files like the following:

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

I'm wondering if there is any way to create an alias to specific folder like:

import '@shared/constants.dart';

Thanks, Javi.

Answer

Günter Zöchbauer picture Günter Zöchbauer · Dec 12, 2018

Dart doesn't allow you to rename imported identifiers, but it allows you to specify an import prefix

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

...

foo.ImportedClass foo = foo.ImportedClass();

It allows also to filter imported identifiers like

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

See also

Barrel files can also make importing easier like

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