Я использую новый System.Web.Optimization и создал такой пакет:
bundles.Add(New ScriptBundle("~/bundles/BaseJS").Include(
"~/Resources/Core/Javascripts/jquery-1.7.1.js",
"~/Resources/Core/Javascripts/jquery-ui-1.8.16.js",
"~/Resources/Core/Javascripts/jquery.validate.js",
"~/Resources/Core/Javascripts/jquery.validate.unobtrusive.js",
"~/Resources/Core/Javascripts/jquery.unobtrusive-ajax.js"))
и, на мой взгляд, я добавил это
@System.Web.Optimization.Scripts.Render("~/bundles/BaseJS")
В fiddler URL-адрес имеет заголовок с истекающим сроком действия 1 год в будущем и тип содержимого text/javascript
. В web.config у меня есть код для gzip, который работает со статическими файлами JS, но, похоже, не работает с мини-пакетами.
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00"/>
<remove fileExtension=".js"/>
<mimeMap fileExtension=".js" mimeType="text/javascript"/>
</staticContent>
<urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true"/>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
<dynamicTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="text/javascript" enabled="true"/>
</dynamicTypes>
<staticTypes>
<add mimeType="text/*" enabled="true"/>
<add mimeType="text/javascript" enabled="true"/>
</staticTypes>
</httpCompression>
Есть ли способ заставить пакет рендеринга сжимать содержимое?