- いくつかのポリマー カスタム要素を含む 2 つのパッケージがあります。
- 各パッケージは他のパッケージをインポートします
- 一方のパッケージには、他方のパッケージの要素を使用または派生する要素が含まれています。
- もう 1 つのパッケージは、インポートされたパッケージの要素をデモ ページで使用して、より魅力的なものにしています。
要素間に循環依存関係はありません。
- 各パッケージには、各カスタム要素のデモ ページを含む「example」フォルダがあります。
- pubspec.yaml と pub build のトランスフォーマー構成を使用して、デモ ページの Javascript バージョンをビルドします。
(pub build はエントリ ポイントのサンプル ディレクトリをまだサポートしていないため、サンプルを指すシンボリック リンク Web を作成しました。) - pub build を実行すると、サンプルがビルドされ、いくつかは正常に動作します。
ただし、トランスには制限があるため、すべてではありません。
トランスフォーマーを使用した pub ビルドは、トランスフォーマーが pubspec.yaml で構成されているインポートされたパッケージをサポートしていません。
したがって、私の新しいアプローチは、Dart web-ui グループで提案されたとおりでした
- 新しいパッケージを作成しました
- 新しいパッケージは、カスタム要素を含む 2 つのパッケージをインポートします。
- 2 つのカスタム要素パッケージのすべてのサンプル ファイルを、新しいパッケージの web/ および web/src ディレクトリにシンボリック リンクしました。
pub build を実行するとすべて問題ないように見えますが、デモ ページを開いてデバッグすると、どのカスタム要素のメソッドも呼び出されません(xxxChanged
明示的に呼び出された場合を除く)。入力されたビュー attached
またはready
)。のような他の方法入力されたビュー attached
またはready
呼び出されます。
ファイル間の差分 (約 14k サイズ) はいくつかの小さな違いを示しましたが、ほとんど (約 98%) は同じです。この生成されたコード (縮小されていない) は、少なくとも私にとっては解読が容易ではなく、これらの違いを引き起こした可能性のあるヒントは見つかりませんでした。
その問題の原因は何ですか?