Librerie javascript importate dinamicamente
Inviato: mercoledì 7 maggio 2014, 13:10
salve,
sto realizzando diverse funzioni Javascript che funzionano in modo analogo alla programmazione ad oggetti "classica".
alcune di queste "classi" hanno delle dipendenze da altre classi, e sono importate in una pagina seguendo questa logica:
il template importa tutte le librerie, a prescindere che siano state utilizzate oppure no, e se un oggetto viene istanziato allora la utilizza.
esempio pratico:
una pagina template importa tutte le librerie js utilizzate.
pagina1: utilizza funzione1 e funzione2, che sfruttano solo alcune delle librerie.
pagina2: utilizza funzione1 e funzione3 che sfrutta solo alcune delle librerie.
adesso, quello che vorrei fare è, direttamente in javascript, mettere le dipendenze che mi servono per ogni funzione, e se è già stato richiamato quel determinato file, allora non deve essere scaricato.
sorge un altro problema però;
le librerie javascript sono costruite a "run-time" alcune volte, mi spiego:
ho tre file che contengono 3 "classi" diverse, ben commentate, con un piccolo manuale interno per spiegare il codice;
adesso, quando viene importato, una funzione crea un file "pulito" contenente tutte e 3 le classi, in modo da risparmiare sugli header. (Questa operazione viene fatta da un modulo del server specificando i file)
quello che ne esce è un file compatto di minime dimensioni;
quindi il workflow di queste cose dovrebbe essere il seguente:
ogni modulo che viene utilizzata in una pagina ha il suo header che importa le classi essenziali senza dipendenze.
alla fine del caricamento dei moduli, una classe dovrebbe prendere tutte le dipendenze e caricarle dinamicamente.
potrei farlo con AJAX ed un controller sul server che data la richiesta comprime i file e li restituisce.
Ma una chiamata AJAX è più lenta di una semplice dipendenza carcata staticamente.
Come dovrei approcciarmi a questo problema?
qualcuno ha già risolto cose simili?
sto realizzando diverse funzioni Javascript che funzionano in modo analogo alla programmazione ad oggetti "classica".
alcune di queste "classi" hanno delle dipendenze da altre classi, e sono importate in una pagina seguendo questa logica:
il template importa tutte le librerie, a prescindere che siano state utilizzate oppure no, e se un oggetto viene istanziato allora la utilizza.
esempio pratico:
una pagina template importa tutte le librerie js utilizzate.
pagina1: utilizza funzione1 e funzione2, che sfruttano solo alcune delle librerie.
pagina2: utilizza funzione1 e funzione3 che sfrutta solo alcune delle librerie.
adesso, quello che vorrei fare è, direttamente in javascript, mettere le dipendenze che mi servono per ogni funzione, e se è già stato richiamato quel determinato file, allora non deve essere scaricato.
sorge un altro problema però;
le librerie javascript sono costruite a "run-time" alcune volte, mi spiego:
ho tre file che contengono 3 "classi" diverse, ben commentate, con un piccolo manuale interno per spiegare il codice;
adesso, quando viene importato, una funzione crea un file "pulito" contenente tutte e 3 le classi, in modo da risparmiare sugli header. (Questa operazione viene fatta da un modulo del server specificando i file)
quello che ne esce è un file compatto di minime dimensioni;
quindi il workflow di queste cose dovrebbe essere il seguente:
ogni modulo che viene utilizzata in una pagina ha il suo header che importa le classi essenziali senza dipendenze.
alla fine del caricamento dei moduli, una classe dovrebbe prendere tutte le dipendenze e caricarle dinamicamente.
potrei farlo con AJAX ed un controller sul server che data la richiesta comprime i file e li restituisce.
Ma una chiamata AJAX è più lenta di una semplice dipendenza carcata staticamente.
Come dovrei approcciarmi a questo problema?
qualcuno ha già risolto cose simili?