我要寻找一个工具或方法来缩小(类似于压缩我的代码和这个问题的代码在我的堆栈)所有.xml
,.css
,.html
和.js
文件通过Ubuntu的终端。最终,我将对这个过程进行bash脚本编写,但是目前,我只想找到一些要测试的东西。有没有可以用来通过终端压缩所有这些文件格式的工具?
我要寻找一个工具或方法来缩小(类似于压缩我的代码和这个问题的代码在我的堆栈)所有.xml
,.css
,.html
和.js
文件通过Ubuntu的终端。最终,我将对这个过程进行bash脚本编写,但是目前,我只想找到一些要测试的东西。有没有可以用来通过终端压缩所有这些文件格式的工具?
Answers:
这不是最佳选择,但可能是最简单的选择。长期以来,YUI压缩器一直被认为是Javascript和CSS的最佳压缩器,与其他压缩器相比可提高20-40%。
从那以后,它已被Uglify.JS之类的较新项目所取代(Grunt可能会建议这样做),但是在Ubuntu中启动和运行它仍然是一件相当容易的事情。
sudo apt-get install yui-compressor
而已。现在,您可以运行,yui-compressor myfile.js
并且可以正常运行,就像正确安装Node / Grunt / Uglify + YUI堆栈一样方便。
more-css
NPM软件包来缩小CSS的程度比使用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,它是一个了不起的工具。
无论您做什么,都必须确保对要提供的内容进行gzip压缩。
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文件会在运行时最小化并缓存在大多数Web项目中。有一个minify(https://github.com/mrclay/minify),它是一个php“库”,可以完全做到这一点。(也可以从终端用php执行)
但请记住,一个大的javascript文件加载速度不一定比5个小文件快。如果您需要此声明的理由和解决方案,请访问http://headjs.com/
愿消息来源与您同在...
我使用Closure Compiler取得了不错的效果。
Closure Compiler是使JavaScript下载和运行速度更快的工具。它不是从源语言编译为机器代码,而是从JavaScript编译为更好的JavaScript。它解析您的JavaScript,对其进行分析,删除无效代码,然后重写并最大程度地减少剩余内容。它还会检查语法,变量引用和类型,并警告常见的JavaScript陷阱。
它由Google开发并用Java编写。它与基于Debian的系统打包在一起closure-compiler
,可以轻松地安装在Ubuntu系统上。由于它不使用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
吗?