私はむしろ大きなアプリケーションを持っています。今はapp.jsで約5MB、ベンダーjsで1MB +です。私はそれが10メガバイトを越えると仮定し、目標ユーザーは低速インターネット上にあり、各ユーザーは異なる権限を持ち、ほとんどのコンポーネントはユーザーに利用できない。ソースコードの連結を除外するember-cliビルドをカスタマイズする方法
ビルドプロセスから大きなコンポーネントを除外し、必要に応じてロードすることを考えていました。その後、AJAX
私はこれが動作することができると思う
if(!container.hasRegistration(`component:${ componentName }`)){
$.when(
$.getScript(`/remote-components/${ componentName }/component.js`),
$.getScript(`/remote-components/${ componentName }/template.js`)
).done(()=> {
let container = getOwner(this);
container.register(`component:${ componentName }`, require(`${ ENV.modulePrefix }/components/${ componentName }`).default, {singleton: false});
this.set('isLoaded', true);
})
}
のようなものを使用してそれらをロードしない場合はこれまでのところ私は、コンポーネントがロードされている場合、それはチェックこのアイデアhttps://github.com/Cryrivers/ember-remote-component/blob/master/app/components/remote-component.jsが好きでした。:ビルドプロセスからコンポーネントを除外し、連結からそれを止めるだけでなく、/DIST /コンポーネント/ ABC/フォルダ
Bでそれらを保つためにどのように:しかし、ここでは二つの質問
Aは、 AJAXを介してロードした後にテンプレートをコンパイルすると、そのコンポーネントのtemplate.hをtemplate.jsにコンパイルすると、パフォーマンス上の大きな問題が発生します。
はい、感謝しました2.10とうまくいけば2.12 LTS版に着いた。私はその時にエンジンに更新します...ありがとう –