Подтвердить что ты не робот

Есть ли причина, по которой MicrosoftAjax.js не минимизируется?

Я сжимаю свой JS с помощью YuiCompressor, но есть ли причина, по которой MicrosoftAjax.js не минимизируется? Или есть некоторые настройки, чтобы сказать, запускать сжатую версию (если есть сжатая версия). Или мне нужно декомпилировать его и минимизировать ресурс script самостоятельно?

4b9b3361

Ответ 1

Я удивлен этими вводящими в заблуждение ответами.

ASP.NET AJAX всегда предоставлял как отладочные, так и сжатые версии MicrosoftAjax.js. Комбинация настройки debug web.config и свойство ScriptManager ScriptMode управляет ссылкой script.

Кроме того, вы можете использовать настройку "retail" для принудительного сжатия сжатых скриптов.

Ответ 2

Все скрипты в System.Web.Extensions минитируются - есть две версии каждого, как указывает отличный ответ Дэйва Уорда. ScriptManager по умолчанию будет использовать отладочную версию, когда web.config находится в режиме отладки. Отбросьте его, чтобы он был выпущен с настройкой для розничной торговли или debug = "false", и посмотрите на script.

Кроме того, скрипты, выполняемые через WebResourceHandler или ScriptResourceHandler, фактически кэшируются. Они кэшируются наилучшим образом - навсегда, поэтому им даже не нужно приступать к будущим посещениям. Запрос выполняется так, как он есть, поскольку он содержит зашифрованные данные. Он зашифрован, потому что он содержит информацию о ресурсе script, включая имя сборки, а также потому, что он предотвращает атаки при наводнении кеша.

Не смотря на репутацию здесь, просто хотел дать более подробную информацию.

Ответ 4

Что бы вы предпочли:

  • MicrosoftAjax.js поставляется сжатым, запутанным уже.
  • MicrosoftAjax.js поставляется несжатым и открытым, поэтому вы можете сами его прочитать и понять.

Ответ 5

EDIT: В свою защиту, на момент написания этого ответа у меня не было опыта работы с .NET 3.5; Теперь я понимаю, что они сделали несколько очень необходимых улучшений в этой области.


Очевидно, что MS не считает, что размер файла JavaScript очень важен (это безумие). Кроме того, основываясь на моем опыте работы с MS Ajax, они также вводят несколько меток SCRIPT (иногда более 10) в разметку. Эти теги содержат сценарии из обработчика WebResource.axd. Таким образом, требуется десять или более запросов, чтобы получить необходимый Javascript для запуска страницы! Чтобы добавить к смехотворности, они ссылаются на сумасшедшую строку запроса на URL-адрес обработчика, что, вероятно, предотвращает кэширование SCRIPT браузером.

Это безумие было достаточным основанием для того, чтобы я полностью остановил MS Ajax и переключился на jQuery, который намного лучше библиотеки, особенно, поскольку Visual Studio теперь имеет Intellisense для jQuery.

Ответ 6

Я могу только предположить, что он остался как есть для простоты понимания, и, как вы уже намекнули, я вижу, почему вы не можете сжать его самостоятельно, это всего лишь JavaScript в конце концов. Хотя MS может как вам верить в противном случае, они не посыпают его магической пылью, чтобы сделать ее другой!:)

[И пусть это встретится; MS никогда не боялись размера своего кода, не так ли?]