Ответ 1
Во-первых, позвольте мне просто предисловие к этому, сказав, пожалуйста, не используйте символ хэша перед импортом или библиотекой или что-то еще. Это старый синтаксис, который обесценивается. Поэтому мы больше не хотим использовать #import('...')
Правильный синтаксис:
import 'some_file.dart';
Тем не менее, есть две разные вещи, которые мы можем сделать с доступом к различным исходным файлам дарт в нашем текущем файле. Первый - это import
файл. Мы используем это, например, в вашем случае, когда вы хотите добавить другую библиотеку в текущий файл (или, точнее, текущую библиотеку).
Обычно, если ваши файлы находятся в одном каталоге или подкаталоге текущего, мы будем импортировать их следующим образом:
import 'lib/library.dart';
Однако, если вы используете макет пакета паба, вы также можете использовать некоторые специальные короткие ссылки для импорта файлов (особенно из других импортированных вами пакетов). Я настоятельно рекомендую читать документы на сайте pub, так как большинство приложений и библиотек разработаны с учетом этого. В нем также есть предложения по наилучшим соглашениям об именах, такие как имена файлов во всех нижних регистрах, а также использование подчеркивания для пробелов и макетов каталогов.
Другая важная вещь, связанная с приведением файла дарт файла в другой файл, заключается в том, что мы можем использовать директивы part
и part of
. Раньше это называлось #source
, но было изменено (с удалением символа хэша), чтобы помочь с некоторой путаницей. Директива part
используется, когда мы хотим написать одну библиотеку, которая охватывает несколько файлов. Скажем, например, у вас есть Awesome Library, которая начинает получать немного больше для одного файла. Мы создадим основной файл библиотеки (не путать с основным методом). Обычно этот файл имеет то же имя, что и сама библиотека.
// awesome_library.dart
library awesome_library;
import 'dart:math';
import '...';
// this injects all the content of secret_file.dart
// into this file right here almost as if it was
// here in the first place.
part 'src/secret_file.dart';
// The rest of our file here
// ...
Директива part в основном берет все из нашего src/secret_file.dart и вставляет его в эту часть файла. Это позволяет нам разбить нашу огромную Awesome Library на несколько небольших файлов, которые легче поддерживать. Хотя это специально не требуется, полезно использовать директиву part of
в нашем файле secret_file.dart, чтобы помочь редактору узнать, что это "часть" библиотеки.
// secret_file.dart
part of awesome_library;
// ... Rest of our secret_file code below.
Обратите внимание, что при использовании файла детали, подобного этому, часть (то есть все, что не является основным файлом библиотеки) не может импортировать или использовать декларации библиотеки сами. Они импортируют все, что импортировано в основной файл, но они не могут добавить никаких дополнительных импортов.
Для получения дополнительной информации о библиотеке см. эту ссылку.