Flutterアプリを作るためのプログラミング言語であるDartでは、ファイルの冒頭に「import」文を書くことで、今コードを書いているDartファイルに存在しないクラス(そのDartファイルにあるトップレベル関数・プロパティ含む)を使うことができます。
例えば以下のように、home_screen.dartファイルにあるHomeScreenというクラスをmain.dartファイルで使いたい場合は、main.dartファイルの冒頭に
import ‘home_screen.dart’;
という「import」文を書くことで使うことができるようになります。
つまり、main.dartファイルでhome_screen.dartを使えるように輸入(import)したことになるわけです。
このimport文を使う際に、import文の後ろに「as xxxx」を付ける場合があります。
import ‘package:firebase_auth/firebase_auth.dart’ as auth;
この「as」の後ろにつく「xxxx」のことを接頭辞(prefix)と言いますが(この例では「auth」が接頭辞)、この「as xxxx」がある場合、そのimport文で輸入したDartファイルのクラス(そのDartファイルにあるトップレベル関数・プロパティ含む)を使う場合には、必ずその接頭辞をつける必要があります。
(接頭辞をつけないとこんな感じでエラーになります)
この接頭辞(prefix)は、複数のDartファイルをimportしている場合に、import元のDartファイルで同じクラス(やトップレベル関数・プロパティ)が使われていて競合してしまう(コンフリクトを起こしてしまう)場合に使う必要が出てきます。
例えば、以下の例では、「lib1」と「lib2」の複数のDartファイルをimportしていますが、両方に「Element」というクラスがあるので、どちらかに「as ・・・」をつけて違いを明示しておかないと、どちらの「Element」クラスを使っているのかがわからなくなるためです。
import 'package:lib1/lib1.dart'; import 'package:lib2/lib2.dart' as lib2; // Uses Element from lib1. Element element1 = Element(); // Uses Element from lib2. lib2.Element element2 = lib2.Element();
(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)