2011-07-31 2 views
1

나는 이상한 문제에 직면하고 있습니다. 반드시 어렵지는 않지만, 그 원인을 알아낼 수 없습니다. 그래서,Capistrano 게시 uglify-js 후크 출력을 배포하지만 파일을 쓰지 않습니다

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

빠른 모습을 주위 몇 가지 검사 나 자바 스크립트 압축 노드의 추하게-JS를 사용하기로 결정했다 : 카피 스트라 노를 통해 내 응용 프로그램을 배포 한 후, 나는 사용하여 유이 압축기를 통해 내 모든 CSS를 전달 해요 나는 간단하게 갔다.

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 

나는 어디 완전한 바보 (네, 말씀은 ...) 인? 감사. uglifyjs docs에서

답변

2

마지막으로 문제가 무엇인지 확인했습니다. 다음 코드 줄이 마지막으로 작동하는 방법 :

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

은 물론, --overwrite 옵션은 있었어야했다되지 않았습니다 ...

0

:

--overwrite - 코드가 (하지 STDIN에서) 파일에서 읽고이 --overwrite 다음 출력이 동일한 파일에 기록됩니다 통과되는 경우.

그래서 아마도 같은 :

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

가 작동합니다.

+0

이 믿거 나, 나는이 문서를 읽을하지 않았다, allready는 그것을 시험해 보았다. 불행히도, 그 일을하지 않았습니다. – pixelboy

+0

uglifyjs는 한 번에 두 개 이상의 파일 이름을 인수로 사용할 수 있습니까? 그렇지 않은 경우 첫 번째 JS 파일 만 처리 할 수 ​​있습니다. 아마도 xargs 명령에 -n1을 추가하면됩니다 : "find # {current_path}/public/static/js/-type f -name '* .js'-print0 | xargs -n1 -0 # {uglify_bin} "--overwrite 또한 find 명령을 수동으로 실행하면 작동합니까? – sagi

+0

더 좋지 않습니다. 좀 더 실망 스럽지만, uglifyjs bootstrap.js> bootstrap.min.js를 실행하면 새 파일이 만들어지고 완벽하게 압축됩니다. 나는 당황 스럽다. ... – pixelboy

관련 문제