J'ai plutôt une grande application, maintenant environ 5mb pour app.js et 1mb + dans le vendeur js. Je suppose qu'il traversera 10mb, nos utilisateurs cibles sont sur Internet lent et chaque utilisateur a des droits différents de sorte que la plupart des composants ne sont pas disponibles pour un utilisateur.Comment personnaliser la construction de ember-cli pour exclure la concat de code source
Je pensais exclure certains gros composants du processus de construction et les charger à la demande. Jusqu'à présent, j'aimé cette idée https://github.com/Cryrivers/ember-remote-component/blob/master/app/components/remote-component.js où il vérifie si un composant est chargé, sinon puis les charger en utilisant AJAX
quelque chose comme
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);
})
}
Je pense que cela peut fonctionner. Mais voici deux questions
A: Comment exclure un composant de processus de construction, et l'empêcher de concaténer mais aussi les garder à l'/dist/composants/abc/ dossier
B: Séparer compiler template.hbs à template.js pour ce composant en compilant le modèle après le chargement via AJAX provoquera d'énormes problèmes de performance.
Oui, merci, il a atterri dans 2.10 et j'espère dans la version 2.12 LTS. Je vais mettre à jour à moteur cette fois ... Merci –