나는 도구 또는 작게하다 할 수있는 방법 (유사 찾고 있어요 압축 내 코드 와이 문제 내에서 코드의 스택에) 모든 .xml
, .css
, .html
와 .js
우분투의 터미널을 통해 파일. 결국 프로세스를 bash 스크립트로 작성하지만 현재 테스트 할 항목을 찾고 싶습니다. 터미널을 통해 이러한 모든 파일 형식을 압축하는 데 사용할 수있는 도구가 있습니까?
나는 도구 또는 작게하다 할 수있는 방법 (유사 찾고 있어요 압축 내 코드 와이 문제 내에서 코드의 스택에) 모든 .xml
, .css
, .html
와 .js
우분투의 터미널을 통해 파일. 결국 프로세스를 bash 스크립트로 작성하지만 현재 테스트 할 항목을 찾고 싶습니다. 터미널을 통해 이러한 모든 파일 형식을 압축하는 데 사용할 수있는 도구가 있습니까?
답변:
이것이 최선의 선택은 아니지만 아마도 가장 쉬운 방법 일 것입니다. YUI 압축기는 오랫동안 Javascript 및 CSS에 가장 적합한 압축기로 여겨져 다른 축소 기보다 20-40 % 개선되었습니다.
그 이후 Uglify.JS (그런트가 제안 할 것임)와 같은 새로운 프로젝트로 대체되었지만 우분투에서 시작하고 실행하는 것은 여전히 쉬운 일입니다.
sudo apt-get install yui-compressor
그게 다야. 이제 실행할 수 yui-compressor myfile.js
있고 Node / Grunt / Uglify + YUI 스택을 올바르게 설치하는 것만큼이나 편리하게 마법을 수행 할 수 있습니다 .
more-css
CSS를 축소하기 위해 NPM 패키지를 사용하는 것이 yui-compressor를 사용하는 것보다 더 방해가 되는 것을 신경 쓰지 않습니다. 그렇지 않습니다. 그것은 똑같은 일을 더 잘하는 또 다른 명령 일뿐입니다.
명령 행에서 node 및 uglify-js 를 사용 하여 js를 쉽게 축소 할 수 있습니다 .
함께 uglify-js를 설치하십시오 npm install uglify-js -g
그것을 실행 uglifyjs app-test.js > app-test.min.js
CSS의 경우 clean-css (아마도 npm에서 가장 안정적인 CSS 축소 기)
사용법을 제안 합니다.
cleancss -o public-min.css public.css
html과 관련하여 일반적으로 축소는 일반적으로 설정에 투자 할 가치가 없지만 html-minifier를 시도해 보았 으므로 멋진 도구입니다.
당신이 무엇을 하든지 당신이 봉사하는 것을 압축하십시오.
uglify
sudo apt-get install node-uglify
uglify
에 apt
당신은 또한 설치할 필요는 node-legacy
, 그래서 실행sudo apt install node-uglify node-legacy
cleancss
CLI 도구는에 지금 clean-css-cli
패키지로 제공된다.
PHP 파일을 축소 할 이유가 없습니다 (디스크 공간이 매우 제한되어 있고 모든 비트를 사용하려는 경우는 제외).
목표를 추가 할 수 있다면 (무엇을 달성하고 싶은지, 왜 그런가?) 누군가 더 나은 방법을 보여줄 수 있습니다.
JS 및 CSS 파일은 런타임시 최소화되고 대부분의 웹 프로젝트에서 캐시됩니다. 정확하게 할 수있는 PHP "라이브러리"인 minify ( https://github.com/mrclay/minify )가 있습니다. (단말기에서 PHP로 실행할 수도 있습니다)
그러나 하나의 큰 자바 스크립트 파일은 5 개의 작은 파일보다 빠르게로드 할 필요가 없습니다. 이 진술에 대한 이유와 해결책이 필요한 경우 http://headjs.com/ 을 참조 하십시오.
소스가 당신과 함께 있기를 바랍니다 ...
Closure Compiler로 좋은 결과를 얻었습니다 .
Closure Compiler는 JavaScript 다운로드 및 실행 속도 향상을위한 도구입니다. 소스 언어에서 기계 코드로 컴파일하는 대신 JavaScript에서 더 나은 JavaScript로 컴파일됩니다. JavaScript를 구문 분석하고 분석하며 데드 코드를 제거하고 남은 것을 다시 작성하고 최소화합니다. 또한 구문, 변수 참조 및 유형을 확인하고 일반적인 JavaScript 함정에 대해 경고합니다.
그것은 구글에 의해 개발되고 Java로 작성되었습니다. 데비안 기반 시스템 용으로 패키지 closure-compiler
되어 있으며 우분투 시스템에 쉽게 설치할 수 있습니다. GUI를 사용하지 않기 때문에 더 가벼운 default-jre-headless
패키지 가 필요합니다 .
YUI 압축기는 속도가 느리지 만 결과 파일 크기는 (약간) 작습니다. 또한 다른 프로그래밍 언어의 컴파일러와 유사한 유용한 경고 메시지를 인쇄합니다.
설명서 : 시작하기
용법:
closure-compiler --js input.js --js_output_file output.js
또 다른 옵션은 npx
Node.js의 명령 을 사용하는 것 입니다. npx
명시 적으로 설치하지 않고 Node.js 패키지의 명령을 실행합니다.
# Minify JS
npx -p uglify-js uglifyjs -o app.min.js app.js common.js
# Minify CSS
npx clean-css-cli -o style.min.css css/bootstrap.css style.css
# Minify HTML
npx html-minifier index-2.html -o index.html --remove-comments --collapse-whitespace
# XML
npx pretty-data-cli --type xml --minify input.xml > input.min.xml
tar -czvf compressed.tar.gz *.xml *.css *.html *.php
?