Sto creando un'applicazione javascript che vivrà in una libreria e sarà utilizzata su più siti. Sto cercando di avere le seguenti funzionalità e bisogno di alcune linee guida sul raggiungimento di questi obiettivi:
- Utilizzare un dispositivo iife per proteggere lo scope variabile della mia applicazione.
- usa il documento pronto in the iife per assicurarti che la manipolazione di dom sia disponibile quando mi serve.
- Tuttavia, poiché il codice risiede in una libreria, mi piacerebbe poter personalizzare il codice tramite opzioni o altri metodi su base per sito, se necessario, ma ovviamente senza modificare il codice della libreria di base. - Fondamentalmente ho bisogno di un metodo audio per ereditare, sovrascrivere o personalizzare il codice della libreria.
Non credo che il mio attuale design consentirà questo tipo di personalizzazione. Quali opzioni ho per raggiungere questo obiettivo? Potrei in qualche modo rendere questa una classe genitore e quindi utilizzare la prototipazione su singoli siti per personalizzare secondo necessità?
//lives in library, merely an example of structure
(function($) {
$(document).ready(function(){
//establish configuration variables
var configVars ={
example: $('#test').attr('href'),
two: 'a number'
};
//establish main operational object
var example = {
start: function(){
console.log(configVars.$one);
example.moveForward();
},
moveForward: function(){
console.log(configVars.two);
}
};
example.start();
});
})(jQuery);