Есть ли плагин, который будет автоматически минимизировать и кэшировать JavaScript? - PullRequest
6 голосов
/ 14 июля 2011

Я готовлюсь начать работу над новым проектом, и я хотел бы знать, есть ли способ автоматически минимизировать JavaScript на стороне сервера, обеспечивая кэширование после того, как JavaScript уже был минимизирован? Я мог бы просто написать сценарий сборки, чтобы выполнить это, но было бы неплохо, если бы я мог, так сказать, «запустить и забыть», с автоматической минификацией. Каков будет рекомендуемый маршрут в этом сценарии? Должен ли я минимизировать свой JavaScript до того, как он выйдет в сеть ценой времени, или я должен найти что-то, что автоматически сделает это для меня на стороне сервера?

EDIT

Я, вероятно, буду использовать Django, но, конечно, JavaScript и мультимедиа обслуживаются отдельно от фактического вывода "HTML" / приложения.

Ответы [ 3 ]

7 голосов
/ 14 июля 2011

Все это будет зависеть от того, какой язык на стороне сервера вы используете.Он не будет иметь ничего общего с Javascript или Css, а скорее с PHP, .NET, Ruby и т. Д.

( примечание: это всего лишь несколько быстрых поисков, которые я сделал. IУ меня нет опыта работы с любым из них. )

Я лично рекомендую НЕ не выполняет ЛЮБОГО минимизации / объединения во время выполнения, поскольку происходит сбой производительности на стороне сервера, который происходит снова и снова и более снова.

вышемой "ответ"


Ниже мое "предпочтение"

Я предпочитаю использовать какой-то инструмент минимизации / объединения времени сборки, который достигает цели один раз и покидает серверпросто «служить».

Поскольку я использую Visual Studio для своей IDE, я предпочитаю использовать инструмент под названием Chirpy ... конечный результат - один статический файл site.min.js и один статический файл site.min.css, в котором есть все, что мне нужно.Я больше не буду страдать от снижения производительности из-за объединения / минимизации моих js / css во время выполнения.


Edit

Обязательно прочитайте комментарии ниже, так как они помогаютдобавьте к общей концепции того, что ищет OP.


Edit

Также только что найден WebPutty , выглядит как довольно гладкий инструмент.

1 голос
/ 14 июля 2011

YUI Compressor прекрасно работает для меня, требует Java на сервере и вы передаете ему правильные параметры:

Вот мой скрипт сборки, который я использую (написанный на Ruby, но недолжен), он вызывает компрессор с правильными параметрами, вот и все, что он делает.

#
# Build JS Files
#
require 'rake/packagetask'

JAVA = 'java'
OUTPUT = 'public/js/sitel-core.js'
MINOUTPUT = 'public/js/sitel-core.min.js'
OUTCSS = 'public/css/styles.css'
MINCSS = 'public/css/styles.min.css'
WIZOUT = 'public/js/sitel-wizard.js'
WIZMIN = 'public/js/sitel-wizard.min.js'

desc "Build CSS Scripts"
task :buildcss do
    files = 'public/css/styles.css'
    `#{JAVA} -jar build/yuicompressor.jar #{OUTCSS} -o #{MINCSS}`
end

desc "Build JS Scripts"
task :build => [:buildcss] do
    files = 'public/js/sitel.js public/js/sitel/popup.js public/js/microtable.js public/js/microbox.js public/js/sitel/popup.page.js public/js/sitel/flexigrid.js public/js/flexigrid/flexigrid.js public/js/nyroModal-1.6.2/js/jquery.nyroModal-1.6.2.js public/js/help-bubble.js public/js/sitel/elgg.js'
    `cat #{files} > #{OUTPUT}`
    `#{JAVA} -jar build/yuicompressor.jar #{OUTPUT} -o #{MINOUTPUT}`    

    wizard = 'public/js/wizard2.js public/js/dual-select.js public/js/filterbox.js public/js/jquery-validate/jquery.validate.js public/js/smartsearch.js public/js/smartsearch-validator.js public/js/flexigrid/flexigrid_helper.js '
    `cat #{wizard} > #{WIZOUT}`
    `#{JAVA} -jar build/yuicompressor.jar #{WIZOUT} -o #{WIZMIN}`
end

desc "Build JS Scripts"
task :default => :build
0 голосов
/ 08 августа 2018

Если вы используете Apache, вы можете использовать это решение, которое обслуживает минимизированные js-файлы на лету: https://www.unixmen.com/how-to-auto-minify-javascript-files-on-page-load-in-apache-using-uglifyjs/

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