Les plugins insistent presque toujours sur le chargement avant jQuery. Et ils ne devraient pas le faire en raison de mon utilisation du réglage de la cale.RequireJS ne fonctionne pas avec les plugins Shim'ed jQuery
Dans mes main.js j'ai ces paramètres:
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 ADM
shim: {
'bootstrap': ['jquery'],
'select2': ['jquery'],
'jq-datepicker': ['jquery'],
'jshashtable': ['jquery'],
'jquery.numberformatter': ['jquery', 'jshashtable']
},
enforceDefine: true
});
Plus tard dans ce dossier, je donne les résultats suivants:
// Start the main app logic.
requirejs(['jquery', 'bootstrap', 'jq-datepicker'],
function ($) {
console.log('Require.JS loaded');
// Init datepickers
// Docs: https://github.com/eternicode/bootstrap-datepicker
$('.datepicker').datepicker({
format: 'dd/mm/yyyy',
language: 'da',
keyboardNavigation: false,
autoclose: true
});
});
Mais j'obtenir cette erreur tout le temps:
Uncaught TypeError: undefined is not a function bootstrap.min.js:6
(anonymous function) bootstrap.min.js:6
(anonymous function)
Et je peux voir dans mon onglet Chrome Network qu'il est chargé avant jQuery.
Maintenant, j'ai essayé d'ajouter le enforceDefine: true
après avoir regardé ici sur stackoverflow, mais sans chance. J'ai essayé de déplacer le requirejs.config à ma page html. Et j'ai essayé de charger jQuery à partir d'un fichier local. Tous sans chance.
Qu'est-ce qui me manque?
Je l'ai testé votre exemple et ne voit pas de problème: http://jsfiddle.net/asgoth/tHkHw/J'ai enlevé le enforceDefine et jq-datepicker.da (ne pouvait pas le trouver) – asgoth