Jsmin на папку с подпапками - PullRequest
1 голос
/ 20 декабря 2010

Я использую jsmin для сжатия всех файлов javascript моего веб-приложения ASP.Net в виде события пост-сборки в файле csproj, например:

"JsMin.exe" "$ (ProjectDir)script "" $ (ProjectDir) script \ minified.js "

Это работало нормально, когда я держал все файлы js в корне папки скрипта.Но так как в этой папке стало много файлов, я решил разделить файлы на подпапки.Теперь кажется, что jsmin извлекает только файлы js из корневой папки, и я не вижу, чтобы у него была возможность включать файлы в подпапки.У кого-нибудь есть хорошее решение для такой ситуации?Мне показалось, что это должно быть довольно распространенным делом, поэтому я был немного удивлен, что это не был параметр для jsmin.exe, включающий подпапки.

Ответы [ 2 ]

1 голос
/ 20 декабря 2010

Вы должны быть в состоянии использовать команду DOS 'for, чтобы сделать это:

for /R "$(ProjectDir)scripts/debug" %s in (*.js) do JsMin.exe %s > "$(ProjectDir)scripts/release/%~ns.min.js"

Это предполагает, что скрипты находятся (или в каталогах внутри) в каталоге с именем ~ / scripts / debug и минимизируютих в ~ / scripts / release с заменой .js на .min.js.

Я проверял это в CMD, но не как событие сборки в VS.Таким образом, вам может понадобиться немного изменить синтаксис.

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

Немного опоздал на вечеринку, но ниже приведен код, чтобы сделать предложение Дэйва Уорда о рекурсивно минимизирующих файлах javascript.

Вот код, перенесенный для работы с использованием события сборки Visual Studio:

for /r "$(ProjectDir)scripts" %%s in (*.js) do $(SolutionDir)tools\jsmin.exe < %%s > "$(ProjectDir)debug\%%~ns.min.js"  

type "$(ProjectDir)debug\*.min.js" | "$(SolutionDir)tools\jsmin.exe" > "$(ProjectDir)release\local.min.js"

del "$(ProjectDir)debug\*.min.js"

Приведенный выше код рекурсивно просматривает папку сценариев (корневой каталог и подкаталоги) для всех сценариев и помещает их в папку отладки (это может быть любая другая папка в вашем каталоге, если на ней установлены разрешения на чтение / запись). и это не является частью структуры каталога, которую вы используете. Затем он минимизирует все * .min.js в каталоге отладки и впоследствии очищает их. Я искал сеть, пытаясь найти это решение, и не смог, поэтому я надеюсь, что это поможет кто-то в нужде:)

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