TS/JSエラー:Type Error:Canot read property'prototype'of undefined
2866 ワード
このエラーの原因と過程をまとめます.エラー情報:Type Error:Canot read property“prototype”of undefined開発言語:Type Scriptコンパイル後言語:JavaScript開発ツール:LayaAir
今日は新たに書いた枠を調整している時に、突然この問題が発生しました.一般的には、この問題は対応するjsファイルがないですが、ファイルを見てみたら、関連するjsファイルは全部配置されています.
今日は新たに書いた枠を調整している時に、突然この問題が発生しました.一般的には、この問題は対応するjsファイルがないですが、ファイルを見てみたら、関連するjsファイルは全部配置されています.
<script src="js/test/LoginHelper.js">script>
<script src="js/legend/laya/Helper.js">script>
その中のHelperは基質である.普段はあまりこの問題に遭遇しません.通常の場合、LayaAirというIDEは自動的にTSの書き下ろしファイルを挿入してくれます.index.htmlファイルを見たら、この二つの書類は全部書いていますが、相続関係の順に来ていません.他のjsファイルをよく見たら、クラスの継承関係によってjsファイルを挿入することがあります.同時に注目しました.
このラベルの部分も確かに新しいTS類が自動的に挿入されます.他のクラスを比べてみますと、乱れているのはTS類が汎型の書き方をしているからです.export class View<M extends IModel> extends BasicView<Laya.Sprite,M>
子類Logiviewexport class LoginView extends mvc.View<mvc.IModel>
次に、汎型コードを削除してみます.export class View extends BasicView
export class LoginView extends mvc.View
その結果、LayaAirは通常index.でこれらの2つの種類のjsファイルを並べ替えることができます.汎型が使えないなら、Type Scriptの強力な機能はかなり弱まりました.LayaAir IDEのバグではないかと疑って、急いでアヒルの群れにフィードバックしました.その結果、カスタマーサービスの人たちは普通型はまだサポートされていないと答えました.しょうがないです.最後の解決方法は、いくつかの並べ替えができないか、または必ず先にjsコードをロードして別のラベルに置いて、手動で並べ替えます.
最後に問題が解決されて、プロジェクトも正常に走り始めました.