2014-09-16 3 views
2

Скажем, у меня есть куча скриптов в папке,Как я могу импортировать все файлы в папку?

Есть ли что-нибудь, что я могу сделать, например import 'foo/*.dart'?

P.S. Что делать, если у меня есть массив имен файлов и вы хотите импортировать эти файлы?

+0

К вашему обновлению: ничего не меняет. Если это действительно проблема, вы можете создать трансформатор, который генерирует импорт, но это не устраняет предупреждения о недостатках импорта во время разработки. –

ответ

3

Вам необходимо импортировать каждую библиотеку отдельно.

Что вы можете сделать, так это создать библиотеку, которая импортирует все другие библиотеки и реэкспортирует их.
вы можете импортировать эту библиотеку и сразу импортировать все библиотеки.

library all_in_one; 

export library1.dart; 
export library2.dart; 
export library3.dart; 
+2

Можете ли вы просто написать 'export' в этом файле, если вам не нужно использовать какие-либо из этих библиотек в' all_in_one'? –

+0

спасибо! Но дело в том, что мне все же приходится вручную писать строки для каждого файла. Есть ли способ сделать это динамически? –

+0

Я понимаю, что в вашем вопросе, но Дарт не предоставляет такую ​​функцию. Вы можете написать скрипт, который это делает. Можете ли вы предоставить больше информации о вашем случае использования? Откуда берутся файлы? –

2

Это было бы весьма небезопасным, поэтому не допускается в соответствии с проектом. Злоумышленник сможет запустить любой вредоносный код, просто добавив файл с правильным именем в вашу папку.

0

Вы можете также использовать «часть» библиотеки состава:

Создать 1 .dart файл, который ваш Lib например .: lib.dart и добавить в начале этого файла .:

library lib 

Для каждого файла в папке добавить:

part "somefile.dart" 
part "otherfile.dart" 

Во всех файлах, которые являются частью этой библиотеки добавить в начале:

part of lib 

В других файлах и библиотеке вы можете импортировать все эти файлы только с помощью:

import "lib.dart" 

Это будет импортировать все части вашей библиотеки (в папке). Имейте в виду, что файл «lib.dart» теперь отвечает за весь импорт ваших файлов lib. Чтобы импортировать что-то в «somefile.dart», вы добавляете импорт в «lib.dart». Все импортируемые файлы доступны во всех файлах lib.

Смежные вопросы