Как добиться такой директивы прекомпилятора, как функциональность

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

В lib/main.dart вы можете увидеть импортируемый файл initializer-prod.dart, у которого есть аналог initializer-dev.dart. Переключение между этими двумя файлами позволит вам переключаться между режимами prod и dev. Вам нужно будет запустить скрипт генератора перед использованием режима prod.

В результате получается следующий импорт:

//import 'initializer_prod.dart' as init; // Use in prod/test.
import 'initializer_dev.dart' as init; // Use in dev.

Как видите, переключение импорта — это ручной процесс. Есть ли лучший, более автоматический способ добиться этого?


person w.brian    schedule 24.01.2014    source источник


Ответы (1)


person    schedule
comment
Относительно варианта 2) В настоящее время он не поддерживается pub build только через прямой вызов dart2js. См.: dartbug.com/15806. - person Matt B; 24.01.2014
comment
Я не использую pub serve, но применение преобразования перед компиляцией dart2dart/dart2js, вероятно, поможет. Известны ли вам какие-либо примеры, когда преобразования применяются напрямую, а не через публичную подачу? - person w.brian; 24.01.2014
comment
Я только что попробовал, и это сработало. Я опубликовал пример проекта github.com/zoechi/build_variables/blob/master. /pubspec.yaml#L15 - person Günter Zöchbauer; 22.04.2015