Я использую плагин jquery.validationEngine.js. jqueryValidateEnglish не может работать, если jqueryValidateEngine загружен первым.Мне нужно убедиться, что плагин не будет загружаться до тех пор, пока его зависимость не будет загружена с использованием RequireJS
Мои jquery.wrapped.validationEnglish2.js кодируется как следующие:
define(['jqueryValidateEngine'],function($){
//Plugin Code here
});
Мой jquery.wrapped.validationEngine2.js кодируется так:
define(['jquery'],function($){
//Plugin Code here
});
Моя домашняя страница содержит:
<script src="/imagesrv/marketing/requireJS/assets/lib/require.js" data-main="/imagesrv/marketing/requireJS/assets/js/common2">
common2.js Содержит:
//Configure RequireJS
require.config({
baseUrl: "/imagesrv/marketing/requireJS/assets",
paths: {
// The libraries we use
jquery: [
'/imagesrv/marketing/js/jquery.min'
],
bootstrap: '/imagesrv/marketing/requireJS/assets/lib/bootstrap.wrapped.min',
smartdevice: '/imagesrv/marketing/requireJS/assets/page/smart-device',
eloquatag: '/imagesrv/marketing/requireJS/assets/page/eloqua-tag',
main: '/imagesrv/marketing/requireJS/assets/page/main',
startupkit: '/imagesrv/marketing/requireJS/assets/js/startup.wrapped.kit',
jqueryuicus: '/imagesrv/marketing/requireJS/assets/js/jquery-wrapped.ui-1.10.3.custom.min',
smoothscrl: '/imagesrv/marketing/requireJS/assets/js/jquery.smoothdivscroll.wrapped-1.3-min',
genscript: '/imagesrv/marketing/requireJS/assets/js/gen-wrapped.menu.script',
owlcarousel: '/imagesrv/marketing/requireJS/assets/js/owl.wrapped.carousel',
placeholder: '/imagesrv/marketing/requireJS/assets/js/jquery.wrapped.placeholder',
explorewhatshot: '/imagesrv/marketing/requireJS/assets/js/explorewhatshot.wrapped',
kiblog: '/imagesrv/marketing/requireJS/assets/js/ki.wrapped.blog.script',
jqueryValidateEnglish: '/imagesrv/marketing/requireJS/assets/js/jquery.wrapped.validationEnglish2',
jqueryValidateEngine: '/imagesrv/marketing/requireJS/assets/js/jquery.wrapped.validationEngine2'
}
});
require(['main', 'bootstrap', 'startupkit', 'eloquatag', 'owlcarousel', 'kiblog', 'jqueryuicus', 'jqueryValidateEnglish'], function($) {// Load up this pages script, once the 'common' script has loaded
console.log('jQuery and r.js have been loaded!');
});
Но я получаю следующее сообщение об ошибке в консоли, когда я запускаю мою страницу: «$ (...) validationEngine не является функцией
Когда я смотрю в разделе Сеть. это показывает, что мои загруженные плагины загружаются, но по какой-то причине кажется, что они должны быть загружены не в порядок, что, вероятно, связано с тем, что я получаю консольную ошибку.
Я не уверен, что проблема есть.
Я боюсь, что не знаю requirejs, но, глядя на код, может ли быть так же просто, как переключить порядок jqueryValidateEnglish и 'jqueryValidateEngine' в common2.js? –
Это не будет работать, потому что jquery.wrapped.validationEnglish2.js зависит от jquery.wrapped.validationEngine2.js – Jimmy
Правильно, но у вас есть 'jqueryValidateEnglish', который ссылается на jquery.wrapped.validationEnglish2.js, ** перед **' jqueryValidateEngine', который ссылается на jquery.wrapped.validationEngine2.js, в common2.js, поэтому вы сначала загружаете зависимый скрипт (по крайней мере, так выглядит на вкладке «Сеть»). –