Capistrano после развертывания выводит ловушку uglify-js, но не записывает файлы - PullRequest
1 голос
/ 31 июля 2011

Я сталкиваюсь со странной проблемой, которая, конечно, не сложна, но я не могу понять, что ее вызывает.После развертывания моего приложения через Capistrano я передаю все свои css через компрессор yui, используя:

 run "find #{current_path}/public/static/css/ -name '*.css' -print0 | xargs -0 -I file #{cmd} file -o file"

Быстрый просмотр и несколько тестов заставили меня принять решение использовать uglify-js для сжатия JavaScript, поэтому я пошел по простой

uglify_bin = "uglifyjs"
run "find #{current_path}/public/static/js/ -type f -name '*.js' -print0 | xargs -0 #{uglify_bin}"

по тому же рецепту.Кажется, что развертывание идет хорошо, но быстрая проверка моих файлов js показывает, что uglifyjs не справился со своей задачей.

Вот выдержка из вывода консоли:

  * executing "find /home/USER/www/project/current/public/static/js/ -type f -name '*.js'| xargs uglifyjs --overwrite"
servers: ["project.com"]
[project.com] executing command
command finished in 127ms

Где я нахожусьполный идиот (да, это слово ...)?Спасибо.

Ответы [ 2 ]

2 голосов
/ 31 июля 2011

Наконец-то нашел, в чем проблема.Вот строка кода, как она наконец работает:

run "find #{current_path}/public/static/js/ -name '*.js'| xargs -I file #{uglify_path} --overwrite file"

Очевидно, что параметр --overwrite не был таким, каким он должен был быть ...

0 голосов
/ 31 июля 2011

Из документов Документы :

- перезаписать - если код читается из файла (не из STDIN), и вы передаете --overwrite, то результат будет записан в тот же файл.

Так что, возможно, что-то вроде:

uglify_bin = "uglifyjs"
run "find #{current_path}/public/static/js/ -type f -name '*.js' -print0 | xargs -0 #{uglify_bin} --overwrite"

Будет работать.

...