0

lit-elementバージョンへの移行時0.6.0。私が使用する場合

<script src="node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js"></script>

header私の文書の一部で。次のエラーがあります。

Uncaught (in promise) TypeError: Cannot read property 'previousSibling' of null
    at NodePart._commitText (parts.ts:255)
    at NodePart.commit (parts.ts:216)
    at TemplateInstance.update (template-instance.ts:56)
    at NodePart._commitTemplateResult (parts.ts:283)
    at NodePart.commit (parts.ts:220)
    at render (render.ts:48)
    at Function.render (shady-render.ts:160)
    at HTMLElement.update (lit-element.ts:44)
    at HTMLElement._validate (updating-element.ts:600)
    at HTMLElement._invalidate (updating-element.ts:574)

エラースタックが巨大で、多くの非同期呼び出しが含まれているため、このエラーがどこから来たのかを追跡できませんでした。また、最小限の例を再現しようとしましたが、同じエラー メッセージをエミュレートできませんでした。このエラーの結果、一部のカスタム要素のロードが完全に失敗します (アプリケーションが使用できなくなるまで)。

ここで、ヘッダー スクリプトを次のように変更すると、次のようになります。

<script src="node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>

エラーは消えるだけですが、コンソールに次の警告メッセージが表示されます。

互換性のない ShadyCSS バージョンが検出されました。(shady-render.ts:42)

少なくとも @webcomponents/webcomponentsjs@2.0.2 および @webcomponents/shadycss@1.3.1 に更新してください。

私のプロジェクトはすでにwebcomponentsjsバージョン2.1.2shadycssバージョンを使用しているため、これは面白いメッセージです。1.5.2この警告メッセージに加えて、css ディレクティブ@applyは完全に無視され、その結果、インターフェイスはプロパティを使用しませんflex(混乱を想像させてください)。

これは、午後いっぱいドキュメントなどを掘り下げたにもかかわらず、本当に理解できない動作です。私はあなたの助けを呼びます。

4

1 に答える 1