日々精進

新しく学んだことを書き留めていきます

Extjs ファイルがロード出来ない

Strange behaviour, load page : Errors, reload multiple times :Errors, reload -> fine
↑で報告されているのと同じ現象に遭遇した。
Extで作ったWebサイトを表示させようとしても、真っ白で何も表示されない、何度かリロードすると希に表示される。。というもの。
JSファイルを非同期にロードしているため、JSファイルをロードする前にそのファイル内で定義されているクラスをインスタンス化しようとしてエラーになっているのが原因っぽい。
Ext.applicationの中のrequiresで使用するJSファイルを全て指定してもだめだった。
requiresは非同期でロードするっぽい。


Ext.onReadyの中でExt.syncRequireを使ってロードしたら直った。
ただし、ロードの順序は依存関係を考慮して決めないといけないのでめんどい。
例えば、A.jsの中でB.jsのクラスをインスタンス化している場合、先にB.jsをロードしないといけない。
Extはインスタンス化しようとしたら自動的にJSファイルを読み込んでくれるはずなんだけどなー。