2016-09-21 3 views
0

EXTJS 6を使用し、必要または使用 - を決定し、プログラムでは実践的EXT JS 6を決定 - 必須またはサブファイル

仕事で私たちはEXT JS 6を使用している、私はそれをスピードアップ」する使命を帯びてきました'。私はすでにいくつかのことをしており、少なくとも30%のスピードアップを達成しています。しかし、ページ/モジュール/セクションをロードするとき(あなたがそれを呼び出そうと思っていても)、最初のコンポーネントの下のすべてのコンポーネントが非同期にロードされます。 これは、ページの読み込みに約20秒の遅延を引き起こしています。

これは、EXT JS 4から移行したときにクラス定義のすべてを必要条件として保持していたためです。

requires: [ 
    'app.view.setup.thing.TabController', 
    'app.view.setup.thing.Panel', 
    'app.store.setup.combo.thingGroupIcons' 
], 

私はドキュメントをたくさん見てきたし、私たちが「オンスクリーン-最初の」のものに別々にロードすることができ、プログラムのセクションを定義するために「用途」を使用してしなければならないという結論になってきました。

requires: [ 
    'app.view.setup.thing.Panel', 
], 
uses: [ 
    'app.view.setup.thing.TabController', 
    'app.store.setup.combo.thingGroupIcons' 
], 

プログラムはおそらくそれに良い500ページ/セクションがあります。

だから例えば、上記のようなものになるでしょう。おそらく3000〜ファイルがあります。だから私の質問は(本当に二つ折り)です。

質問1:私は正しい軌道に乗っています:私/「を使用します」

質問2を使用してロードされなければならない可能性「が必要です」がで何かあればどのように私は実用的かを決定することができます全く?

EXT JSの周りに非常に敵対的なコミュニティがあるので、私はこの質問をスタックにお願いしています。私は今日までに7時間を読んできました。以下は実際に役立つと思われるリンクです。

https://www.sencha.com/forum/archive/index.php/t-133191.html?s=8b90c637dd96fed53597cd029544d955 http://docs.sencha.com/extjs/6.0.0/classic/Ext.Class.html#cfg-requires

+0

Btwは全体的にスピードアップのものです。 Sencha Cmdを使用してアプリケーションをコンパイルし、App Cacheについて知っていますか? https://docs.sencha。com/cmd/guides/microloader.html#microloader _-_ application_cache – pagep

+1

はい、私はそうしています。コンパイルされたバージョンははるかに高速です(しかしまだ十分に速くはありません)。そして、キャッシュは現在の問題の後にある差異のポストダウンロードを行います。 – TolMera

+0

ビルドコピーを使用していますか?ビルドされたコピーを使用している場合、これは発生しません。「最初のコンポーネントの下にあるすべてのコンポーネントが非同期にロードされます。 –

答えて

1

あなたはuses経由で読み込むことができますどれかを決定するために、あなただけの「用途」セクションに「必要な」セクションからすべてを移動し、壊れて何を確認することができます。

しかし、usesを使用すると、コンパイルされたバージョンの読み込み時間を改善することができます。cmdコンパイルされたバージョンではなく、すべての依存関係が1つのjavascriptファイルにあります。

もちろん、私の上司と同じことをいつでもやり遂げることができます。あなたのアプリケーションを見直すために、高額有料コンサルタント™(SenchaまたはSencha認定のコンセントから)を入手してください。彼らの最初の結果は私がすでに彼に言ったことでした.Cmdコンパイルされたバージョンの読み込み速度を大幅に改善する可能性はもうありません。彼らは私たちに1つのオプションしか残されていないと言いました。アニメーションのスプラッシュ画面を追加すると、読み込み時間が半分になります。もちろん、ストップウォッチを使用しても、アプリケーションを起動してもストップウォッチはありません。

+0

ありがとう、これは非常に良い答えです:)私は、 '必要'から '使用'にすべてを移動することを推測している、その後、 '煎茶アプリの生産を実行する'は失敗を列挙するか、各モジュールの機能は手作業です(私たちは単体テストを持っていません: - /)?ビルドコマンドでエラーが表示された場合は、Regexを使って適切な場所に正しいものを置くために何かを書くことができます。ダウンロードしたファイルのサイズが変わっても*** * JSをユーザー側に少し速く走らせてください(価値のあるテスト) – TolMera

+1

手動でテストする必要があります。依存関係ツリーを構築するときに、依存関係が呼び出されるとき**は**気にしません。実行時にのみエラーが表示されます。 – Alexander

+0

おかげで多くの質問に答えます:)優秀な回答! – TolMera

関連する問題