Допустим, я делаю приложение, в котором мне нужно регулярно отправлять обновления на клиентскую сторону. Теперь большинство этих обновлений будут влиять только на мой собственный код, а не на библиотеки, которые формируют мои зависимости. Насколько мне известно, преобразователь, который я буду использовать при вызове pub build
, возьмет все мои библиотеки, зависимости и все остальное и скомпилирует их вместе в один файл web/main.dart.js
. Это чем-то напоминает мне статическое связывание, как в таких языках, как C++.
По понятным причинам такая компиляция — это то, что вам нужно делать только при окончательном развертывании приложения. Для большинства людей достаточно просто использовать dartium и напрямую работать с иерархией .dart
. Однако что, если бы я тестировал в браузере javascript, например, пробовал код dart:js
. Я бы не хотел перекомпилировать все angular и друзей, когда они остаются совершенно нетронутыми. Мой конкретный случай — это желание использовать службы CDN для статических файлов в моем приложении.
AngularDart, как мой пример, вносит массивные 22 000 строк в мой скомпилированный javascript, и если я изменю одну мелочь в своем собственном приложении, я могу поцеловать 304 NOT MODIFIED
до свидания, не говоря уже об экономии CDN, за эту большую часть нетронутый угловой.
При всем при этом есть ли способ разъединить зависимости в трансформированном приложении дротика? Могу ли я «динамически связать» свои библиотеки dart? И, кроме того, могу ли я гипотетически распространять свои библиотеки dart как dart.js
для использования в другом преобразованном коде?