Требуется загрузка плагинов
Вопрос
Я пытаюсь загрузить плагин, используя requirejs, но иногда получаю ошибку, «$ .fn не определен», но если я перезагружаю страницу, ошибка исчезает почти так же, как сейчас, jQuery кэшируется, проблема удаляется. Я загружаю свои библиотеки так:
require(["jquery-1.4", "/script/jquery.autoSuggest.packed.js"], function($) {
$(function() {
//code
});
});
Можете ли вы увидеть, есть ли что -то не так с этой реализацией, что вызвало бы эту ошибку? Требуется, что JS добавляется на страницу, так же:
<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>
Это нельзя изменить, так как это часть основы, которую я использую.
Какие-либо предложения?
Спасибо!
Решение
Заказать плагин удален. Используйте загрузку Shim следующим образом
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']
},
});
Другие советы
Вы захотите использовать заказать плагин. Анкет По умолчанию требуется нагрузки сценариев как можно быстрее, и они могут загружать из порядка. Тем не менее, плагин заказа будет поддерживать порядок нагрузки сценария.
Если вы используете оптимизатор для оптимизации своих сценариев, обязательно включите как jQuery, так и плагин в оптимизированный сценарий.
Вы можете заказать оформление https://github.com/jquery-boilerplate/patterns
У него есть хороший код плагина JQUERY Coilerplate, который будет работать с readyJS.
Я думаю, что вам, возможно, придется обновить свой jQuery до 1.7, прежде чем эти шаблоны сработают для вас.