Есть ли только часть Ajax jQuery? Дело в том, что мне не нужна вся библиотека, но только ее часть Ajax (мне нужно включить эту часть на несколько фреймов).
Есть только Ajax часть jQuery?
Ответ 1
Обновление 2016
Вы можете использовать этот инструмент для создания собственной пользовательской версии jQuery.
Как в jQuery 2.1.1
Максимальный размер файла неограничен: 241.55 Kb
Ajax Только minified: 49.60 КБ
Это сокращение 5x.
Ответ 2
Как уже сказал Дарин, все или ничего. Функции JQuery Ajax тесно переплетаются с остальными функциями.
Есть несколько других автономных библиотек Ajax, таких как Matt Kruse Ajax toolbox - возможно, это помогает.
Я бы рассмотрел загрузку полной библиотеки jQuery. Если вы ссылаетесь на jQuery на CDN, время загрузки будет незначительным.
Ответ 3
Как и в jQuery 1.8, вы можете это сделать: ССЫЛКА
Ответ 4
Вы можете просмотреть стандартные javascript-альтернативы jQuery в youmightnotneedjquery.com
Например, альтернативой $.ajax
post
является:
var request = new XMLHttpRequest();
request.open('POST', '/my/url', true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send(data);
И альтернатива $.ajax
get
:
var request = new XMLHttpRequest();
request.open('GET', '/my/url', true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
// Success!
var resp = request.responseText;
} else {
// We reached our target server, but it returned an error
}
};
request.onerror = function() {
// There was a connection error of some sort
};
request.send();
Ответ 5
Другой вариант - использовать встроенный fetch
API, предоставляемый браузером.
Вот пример фрагмента:
fetch('http://localhost:3000/users.json', {
method: 'POST',
mode: 'cors',
redirect: 'follow',
body: JSON.stringify({
user: {
firstName: 'john',
lastName: 'doe'
}
}),
headers: new Headers({ 'Content-Type': 'application/json' })
}).then(function() {
/* handle response */
});
Это сообщение в блоге - отличное введение в API и показывает больше случаев использования.
fetch
пока не имеет полной поддержки кросс-браузера (я думаю, что в основном IE и Safari не хватает), но есть polyfill, который вы можете использовать до тех пор, пока не наступит этот день.
fetch
polyfill: https://github.com/github/fetch
Старые браузеры также нуждаются в Promise
polyfill (один вариант, другой вариант).
Ответ 6
Я создал пользовательскую сборку jQuery 1.7.1 здесь:
Ответ 7
Пользователь AMD, пожалуйста, прочитайте этот, мой ответ предназначен для создания одного файла.
Или просто используйте эту библиотеку: ded/reqwest (4 КБ, мин и gzip)
-
Загрузите исходный код и запустите
npn i
-
Откройте
/src/jquery.js
и удалите любую moudle, которую вы не хотите, но держите"./exports/amd"
,"./exports/global"
define([ "./ajax", "./ajax/xhr", "./ajax/script", "./ajax/jsonp", "./exports/amd", "./exports/global" ], function (jQuery) { "use strict"; return jQuery; });
-
Запустите
grunt custom:-sizzle
-
Перейти к
/dist
и взять свою сборку
Модули в вашей сборке сейчас:
- ядро
- отложила
- Ajax
Размер:
- просто построить: 85 KB
- построить с min: 26 KB
- построить с min и gzip: 10 KB
Ответ 8
Все или ничего. Конечно, jquery является открытым исходным кодом, и вы можете извлечь интересующую вас часть в своей собственной библиотеке (удачи с этим). Вы можете использовать CDN, который гарантирует, что большинство пользователей уже будут кэшироваться в своих браузерах, поэтому вы не должны беспокоиться о размере.
Ответ 9
Если вам действительно нужны только части Ajax jQuery, вы можете получить код из своего репозитория (https://github.com/jquery/jquery), взглянув на него вы бы хотели посмотреть "ajax.js" и "core.js" в каталоге "src". Затем вы захотите скомпилировать их вместе с компилятором закрытия или что-то в этом роде.
Но, как заявили другие, было бы намного проще просто загрузить его с одного из CDN (jQuery, Google, Microsoft), которые в любом случае будут кэшировать большинство пользователей.
Ответ 10
ДА, я просто сделал свое, http://noypi-linux.blogspot.com/2013/05/build-jquery-with-ajax-only.html
вам нужны только эти файлы (итоговое значение minified составляет около 30 КБ):
/d/dev/javascript/jquery/jquery/src/intro.js
/d/dev/javascript/jquery/jquery/src/core.js
/d/dev/javascript/jquery/jquery/src/callbacks.js
/d/dev/javascript/jquery/jquery/src/deferred.js
/d/dev/javascript/jquery/jquery/src/support.js
/d/dev/javascript/jquery/jquery/src/data.js
/d/dev/javascript/jquery/jquery/src/event.js
/d/dev/javascript/jquery/jquery/src/serialize.js
/d/dev/javascript/jquery/jquery/src/ajax.js
/d/dev/javascript/jquery/jquery/src/ajax/xhr.js
/d/dev/javascript/jquery/jquery/src/exports.js
/d/dev/javascript/jquery/jquery/src/outro.js
Ответ 11
Существует не все, но вы можете, конечно, вырезать и вставить из существующего файла, а затем свернуть его.
Если вас просто беспокоит размер библиотеки, обслуживающей ее с CDN от Google, MS или jQuery, вероятно, потребуют меньше трафика данных, так как большинство браузеров уже имеют кешированные файлы.