Как автоматизировать сжатие файлов JavaScript с YUI Compressor? - PullRequest
13 голосов
/ 22 октября 2008

YUI Compressor не принимает подстановочные параметры, поэтому я не могу запустить его так:

C:>java -jar yuicompressor.jar *.js

Но у меня более 500 файлов, и я бы не стал создавать командный файл, например:

C:>java -jar yuicompressor.jar file1.js -o deploy\file1.js
C:>java -jar yuicompressor.jar file2.js -o deploy\file2.js
...
C:>java -jar yuicompressor.jar file500.js -o deploy\file500.js

И, конечно, мои имена файлов не таким единообразным способом.

Есть ли способ автоматизировать это без написания какого-либо кода? :)

Ответы [ 6 ]

12 голосов
/ 23 октября 2008

Я мог бы пойти на make-файл (я думаю, что он, вероятно, был бы более длительным для сопровождения), но если вы хотите, чтобы пакетная команда Windows quick-n-dirty изменилась, должно работать что-то вроде следующего:

for %%a in (*.js) do @java -jar yuicompressor.jar "%%a" -o "deploy\%%a"
5 голосов
/ 14 апреля 2011

Компрессор YUI теперь поддерживает подстановочные знаки, начиная с версии 2.4.4. Вы можете получить последнюю версию здесь или YUI Git Hub .

5 голосов
/ 23 октября 2008

Если вы ориентированы на Java, вы также можете использовать Ant для конвертации. Я нашел запись в блоге о Ant Taks для YUI Compressor . Отказ от ответственности: никогда не пробовал - извините

4 голосов
/ 23 октября 2008

Я должен отметить, что используя GNU Make, у меня есть следующее правило:

%-min.js: %.js
    ${java} -jar ${compressor} $< -o ${<:.js=-min.js}
2 голосов
/ 23 октября 2008

А для unix или cygwin вы можете использовать xargs или что-то вроде:

ls -1 * .js | awk '{printf ("java -jar yuicompressor.jar% s -o deploy /% s", $ 1, $ 1)}'

Передайте это в / bin / sh, когда вы довольны командной строкой для его выполнения.

1 голос
/ 23 октября 2008

Вам потребуется использовать какой-то сценарий, чтобы получить список всех файлов .js, а затем запустить YUI Compressor для всех из них. В командной строке Windows что-то вроде этого должно работать:

FOR %f IN (*.js) DO java -jar yuicompressor.jar %f -o deploy\%f
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...