可以通过终端执行的缩小工具

Dᴀʀ*_*ᴅᴇʀ 47 command-line software-recommendation

我要寻找一个工具或方法来缩小(类似于压缩我的代码和这个问题的代码在我的堆栈)所有.xml.css.html.js文件通过Ubuntu的终端。最终我将编写 bash 脚本,但目前我只想找到一些东西来测试。有没有我可以用来通过终端压缩所有这些文件格式的工具?

Oli*_*Oli 48

这不是最好的选择,但它可能是最简单的。YUI 压缩器长期以来被认为是 Javascript 和 CSS 的最佳压缩器,比其他压缩器提供 20-40% 的改进。

它已经被像 Uglify.JS(Grunt 可能会建议)这样的新项目所取代,但在 Ubuntu 中启动和运行它仍然是一件相当容易的事情。

sudo apt-get install yui-compressor
Run Code Online (Sandbox Code Playgroud)

就是这样。现在你可以运行yui-compressor myfile.js它,它会发挥它的魔力,只是不如正确安装 Node/Grunt/Uglify+YUI 堆栈那样方便或方便。

  • 不是每个使用 js 或 css 的人都在使用 node.js 或做 node.js 项目。如果你想使用 grunt,它是另一个学习和配置的框架。是的咕噜很酷。但是现在,在我们甚至可以开始编码之前,我们已经有足够的东西可以学习了。所以 node/grunt 并不总是很方便。:) 我自己会尝试你对 yui-compressor 的建议。 (16认同)
  • @BillR 我有点同意这种观点,但虽然我没有任何 node.js 项目,但我仍然使用lessc 和 uglify.js 之类的东西,因为**它们是工作的最佳工具**。我不使用 Grunt,因为我已经用自己的工具替换了它,但对于实际工作,我绝不会为了避免使用 Node.js 而蹒跚而行。如果你想留在这个行业,你必须跟上最佳实践。 (2认同)
  • 你在我身上已经五年了,但我不知道你的意思是......你还在使用静态 HTML4 和一些“DHTML”和 perl CGI 脚本吗?还在用ASP?或者您是否在更好的技术使自己可用时改变了事物?我们有两个不同的观点;它变得有点傻了。我不在乎你是否不喜欢重新训练,但我确实在乎你是否认为使用 `more-css` NPM 包来缩小你的 CSS 比使用 yui-compressor 更具侵入性。不是。这只是另一个可以更好地做同样事情的命令。 (2认同)

use*_*031 20

您可以从命令行使用 node 和uglify- js 轻松缩小 js :

  • 安装 uglify-js npm install uglify-js -g

  • 运行 uglifyjs app-test.js > app-test.min.js


对于 css,我建议使用clean-css(可能是 npm 上最稳定的 css minifier)
示例用法:

cleancss -o public-min.css public.css
Run Code Online (Sandbox Code Playgroud)

就 html 而言,通常缩小通常不值得您投入时间进行设置,但我尝试过html-minifier,它是一个很棒的工具。

无论您做什么,请确保您对所服务的内容进行 gzip。


编辑 05-03-2020

如今,js 开发人员通常使用terser 代替 uglify -js 。

  • `uglify` 可以直接用 `sudo apt-get install node-uglify` 安装 (2认同)
  • @Gery 如果你想用 `apt` 安装 `uglify` 你还需要安装 `node-legacy`,所以运行 `sudo apt install node-uglify node-legacy` (2认同)

Den*_*nis 13

使用minify - 与其他建议不同,这个工具可以缩小更多文件类型:

CSS     text/css
HTM     text/html
HTML    text/html
JS      text/javascript
JSON    application/json
SVG     image/svg+xml
XML     text/xml
Run Code Online (Sandbox Code Playgroud)


Ser*_*PYK 5

JavaScript Minifier是Andrew Chilton的在线 JavaScript Minifier 项目。免费、体面、无需安装

网址于 2023 年 11 月 18 日更新- 感谢sechstein

curl -X POST -s --data-urlencode 'input@my.js' https://www.toptal.com/developers/javascript-minifier/api/raw > my.min.js
Run Code Online (Sandbox Code Playgroud)