ここではあまり多くの情報を提供することはできませんが (実際には存在しないため)、これだけです:
突然、関数をステンシル コンポーネントに追加した後@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)。しかし、もしそうなら、私はその方法を思い出せません。
これをデバッグする方法、またはより良い修正方法を知っている人はいますか?