Domanda

Sto cercando di caricare un plug -in usando Requisitijs ma occasionalmente ricevere un errore, "$ .fn non è definito" ma se ricarico la pagina l'errore scompare quasi come ora jQuery viene memorizzato nella cache Il problema viene rimosso. Sto caricando le mie biblioteche in questo modo:

require(["jquery-1.4", "/script/jquery.autoSuggest.packed.js"], function($) {
   $(function() {
       //code
    });
});

Riesci a vedere se c'è qualcosa di sbagliato in questa implementazione che causerebbe questo errore? Richiedere che JS venga aggiunto alla pagina così:

<script type="text/javascript" src="http://website.co.uk/frameworks/requirejs/0.2.4/sharedmodules/require.js">
</script> 
<script type="text/javascript">  requireMap = {
     "jquery-1.4":"http://website.co.uk/sharedmodules/jquery-1.4"
}; 

    require({ baseUrl: 'http://website.co.uk/', paths: requireMap });      
</script>

Questo non può essere cambiato in quanto fa parte del framework che sto usando.

Eventuali suggerimenti?

Grazie!

È stato utile?

Soluzione

Il plugin dell'ordine viene rimosso. Usa il caricamento dello spessore come segue

requirejs.config({
   paths: {
        'jquery': 'https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min',
        'bootstrap': '../bootstrap/js/bootstrap.min',
        'select2': 'vendor/select2',
        'jshashtable': 'vendor/jshashtable-2.1',
        'jquery.numberformatter': 'vendor/jquery.numberformatter-1.2.3.min',
        'jq-datepicker': 'vendor/bootstrap-datepicker',
        'jq-datepicker.da': 'vendor/bootstrap-datepicker.da'
    }, 

    // Use shim for plugins that does not support AMD
    shim: {
        'bootstrap': ['jquery'],
        'select2': ['jquery'],
        'jq-datepicker': ['jquery'],
        'jshashtable': ['jquery'],
        'jquery.numberformatter': ['jquery', 'jshashtable']
    },

});

riferimento : http://requirejs.org/docs/api.html#config-him

Altri suggerimenti

Vorrai usare il Plug -in d'ordine. Per impostazione predefinita, i requisiti caricano gli script il più velocemente possibile e possono caricare fuori servizio. Tuttavia, il plug -in Ordine manterrà l'ordine dei carichi di script.

Se usi l'ottimizzatore per ottimizzatore, assicurati di includere sia jQuery che il plug -in nello script ottimizzato.

Potresti voler fare il checkout https://github.com/jquery-boilerplate/patterns

Ha un buon codice plug -in jQuery di buon caldaia che funzionerà con Requisitijs.

Penso che potresti dover aggiornare la tua jQuery a 1.7 prima che questi schemi funzionino per te.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top