ASP.NET - сжатие скриптов и CSS - PullRequest
6 голосов
/ 19 мая 2009

Существует ли какое-либо встроенное сжатие (для файлов javascript / css) в ASP.NET?

Ответы [ 9 ]

6 голосов
/ 15 июня 2010

Попробуйте Chirpy. Он объединяет, минимизирует и проверяет ваш JavaScript, таблицу стилей и файлы без точек Вы можете использовать YUI Compressor или Google Closure Compiler.

http://chirpy.codeplex.com/

Или, для получения дополнительной информации, проверьте:

http://www.weirdlover.com/2010/05/22/visual-studio-add-in-for-dotless-js-and-css-files/

4 голосов
/ 19 мая 2009

В приложении Professional ASP.NET 3.5 Скотт Хансельман рассказывает о упаковщике для .NET . Он будет интегрирован с MSBuild и упаковывает файлы javascript для рабочих развертываний и т. Д.

4 голосов
/ 19 мая 2009

Вы можете использовать Упаковщик .

Этот utlity поддерживает сжатие и / или «минимизацию» JavaScript и «минимизацию» CSS.

Он доступен как утилита командной строки или как задача MSBuild. Таким образом, вы можете интегрировать его в процесс сборки / проект Visual Studio.

1 голос
/ 16 января 2011

Попробуйте StyleManager для комбинации CSS и минимизации. Он использует компрессор YUI под капотом.

Его использование во многом похоже на ScriptManager от asp.net, поэтому к нему быстро привыкнуть. Его легко добавить в проект, это займет всего минуту.

Самое главное - он объединяет и ваши CSS-файлы. Таким образом, вместо того, чтобы загружать около 10 CSS-файлов, будет просто 1, который также будет сжат и т. Д.

1 голос
/ 20 мая 2009

В дополнение к другим ответам и комментариям, вы можете использовать Yahoo! YUI Compressor и сделать его MSBuild Task для интеграции в процесс сборки и развертывания.

1 голос
/ 19 мая 2009

В IIS есть поддержка сжатия Gzip / Deflate, совместимая со всеми современными браузерами, кроме IE6. Для IIS 7 проверьте эту страницу: http://www.iis.net/ConfigReference/system.webServer/httpCompression

0 голосов
/ 18 февраля 2016

Я только что кое-что узнал сегодня: вы можете запустить JavaScript через консоль Windows . Я фанат cssmin.js; так что, это плюс консоль windows = победа! Все, что вам нужно сделать, это скачать cssmin.js, поместить его в папку в вашем веб-проекте и добавить следующее событие после сборки в Visual Studio:

type "$(ProjectDir)css\*.css" | cscript //NoLogo "$(SolutionDir)tools\cssmin.js" > "$(ProjectDir)css\core.min.css"

Это избавляет вас от необходимости редактировать ваш проект , как ajaxmin должен сделать .

0 голосов
/ 12 декабря 2011

Вот мой путь: Используйте MVC. Обрабатывать содержимое js | css с помощью действий контроллера MVC. Объедините несколько файлов в один. Сократите и запутайте скрипт | css на лету, прежде чем он будет сохранен в кеше. Кеш результатов. Используйте CacheDependency. Включите gzip для динамического контента. Включить gzip перед функцией кэширования.

Все можно сделать, просто добавив пользовательские атрибуты в методы действий, используя ASP.NET MVC Js / Css Composer / Compressor .

Пример:

public class JsController : Controller
{
    [Utility.Processors.JsCompress]
    [OutputCache(Duration = 3600)]
    public ActionResult Jquery()
    {
        return View();
    }
}

Вы можете наследовать от CustomTextPostProcessingAttribute и делать свою собственную постобработку для любого типа текстового содержимого, которое вам нужно.

0 голосов
/ 10 декабря 2009

Я написал кое-что, чтобы сделать это для меня, вы можете скачать его здесь: http://www.picnet.com.au/blogs/Guido/post/2009/12/10/Javascript-runtime-compilation-using-AspNet-and-Googles-Closure-Compiler.aspx

Он использует компилятор Google, который довольно хорош.

Спасибо

Guido

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...