0

ここではあまり多くの情報を提供することはできませんが (実際には存在しないため)、これだけです:

突然、関数をステンシル コンポーネントに追加した後@Method:

@Method()
async setMenuItems(items: Element[]): Promise<void> {
  // code here
} 

コンポーネントは次のエラーでコンパイルを停止しました - 本当に役に立たない - エラー:

[ ERROR ]  ./src/components/menu-content/menu-content.tsx:63:44
           build error

     L62:  @Method()
     L63:  async setMenuItems(elements: Element[]): Promise<void> {
     L64:    const unsupportedChildren = elements.filter(e => !this.isSupportedChild(e)).map(e => e.tagName);

[12:37.1]  build failed in 7.02 s

注意事項

  • Promise<void>エラーメッセージ内の戻り値の型は赤で強調表示されます
  • このコンポーネント内で機能する他@Methodの s があります (同じ戻り値の型であっても)。
  • 「壊れた」@Methodものは、​​機能するものと構造的に同等です。
  • TypeScript コンパイラは何も文句を言わない
  • ステンシル コンパイラのみが失敗する

私はすでに試しました...

  • この問題についてグーグルに - この問題のヒントは見つかりませんでした
  • を削除しasyncて追加するにはreturn Promise.resolve()
  • メソッドの名前を変更します(つまり..理由はありません)
  • メソッドをクラス内の別の場所に移動する
  • メソッド全体を削除します(問題なくコンパイルされます x( )
  • デコレータを削除する@Method(コンパイル済みですが、もちろん私のメソッドは API から削除されています)
  • node_modulesフォルダを削除して再インストールする

すでにこのエラーが発生したことを覚えていますが、どうやら修正したようです (または、idk)。しかし、もしそうなら、私はその方法を思い出せません。

これをデバッグする方法、またはより良い修正方法を知っている人はいますか?

4

1 に答える 1