터미널을 통해 실행할 수있는 축소 도구 압축 내

나는 도구 또는 작게하다 할 수있는 방법 (유사 찾고 있어요 압축 내 코드 와이 문제 내에서 코드의 스택에) 모든 .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 스택을 올바르게 설치하는 것만큼이나 편리하게 마법을 수행 할 수 있습니다 .


답변

명령 행에서 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를 시도해 보았 으므로 멋진 도구입니다.

당신이 무엇을 하든지 당신이 봉사하는 것을 압축하십시오.


답변

사용 작게하다 – 다른 제안과는 달리,이 도구를 축소하고 더 많은 파일 형식 :

CSS     text/css
HTM     text/html
HTML    text/html
JS      text/javascript
JSON    application/json
SVG     image/svg+xml
XML     text/xml

답변

PHP 파일을 축소 할 이유가 없습니다 (디스크 공간이 매우 제한되어 있고 모든 비트를 사용하려는 경우는 제외).

목표를 추가 할 수 있다면 (무엇을 달성하고 싶은지, 왜 그런가?) 누군가 더 나은 방법을 보여줄 수 있습니다.

JS 및 CSS 파일은 런타임시 최소화되고 대부분의 웹 프로젝트에서 캐시됩니다. 정확하게 할 수있는 PHP “라이브러리”인 minify ( https://github.com/mrclay/minify )가 있습니다. (단말기에서 PHP로 실행할 수도 있습니다)

그러나 하나의 큰 자바 스크립트 파일은 5 개의 작은 파일보다 빠르게로드 할 필요가 없습니다. 이 진술에 대한 이유와 해결책이 필요한 경우 http://headjs.com/ 을 참조 하십시오.

소스가 당신과 함께 있기를 바랍니다 …


답변

Grunt.js 사용을 권장 합니다. 플러그인으로 사용할 수있는 축소 기능이있는 자동화 도구이며 Node.js를 통해 터미널에서 실행할 수 있습니다. 코드가 서버 측에서 실행되고 HTML 출력 만 클라이언트로 전송되므로 PHP를 축소 할 필요는 없습니다.

사용 가능한 플러그인은 여기에서 찾을 수 있습니다


답변

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

답변

또 다른 옵션은 npxNode.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