- У меня есть две упаковки с несколькими полимерными элементами.
- Каждая упаковка импортирует другую
- В одном пакете содержатся элементы, которые используют или получают из элементов в другом пакете.
- Другой пакет использует элементы из импортированного пакета только на демонстрационных страницах, чтобы сделать их более привлекательными.
Между элементами нет круговых зависимостей.
- В каждой упаковке у меня есть папка «example», содержащая демонстрационную страницу для каждого настраиваемого элемента.
- Я использую конфигурацию трансформаторов в pubspec.yaml и pub build для создания Javascript версии демонстрационных страниц.
(Поскольку pub build еще не поддерживает каталог примеров для точек входа, я создал символическую веб-ссылку, указывающую на примеры.) - Когда я выполняю сборку бара, примеры создаются, и некоторые из них работают нормально.
Не все, хотя, поскольку существует ограничение с трансформаторами:
паба строить с трансформаторами не поддерживают импортированные пакеты, которые имеют трансформаторы, настроенные в pubspec.yaml.
xxxChanged методы не вызываются в JavaScript
Так что мой новый подход, как предложено в Dart веб-Ui группы
- Я создал новый пакет
- Новый пакет импортирует два пакета с настраиваемыми элементами.
- Я символизировал все файлы примеров из двух пакетов настраиваемых элементов в каталог web/и web/src нового пакета.
Когда я исполняю паб построить все кажется нормально, но , когда я открываю демо-страницы и их отладок я вижу ни один из xxxChanged
методов любых из пользовательских элементов не дозвонился (кроме случаев, когда они вызываются явно из введеноattached
или ready
). Другие методы, такие как , вошли в числоattached
или ready
.
Разница между файлами (размером около 14k) показала несколько меньших различий, но наиболее (около 98%) равны. Этот сгенерированный код (не уменьшенный) не просто расшифровать, по крайней мере, не для меня, и я не нашел намека на то, что могло бы вызвать эти различия.
Любая идея, что может быть источником этой проблемы?
Я попытался скопировать файлы вместо symlinking, но это также не помогло. –