javascript
javascript 压缩_14种用于压缩JavaScript的工具
Javascript 壓縮是一種將腳本壓縮到更小的封裝中的技術 。 您失去了人類的可讀性,但是卻節省了相當大的帶寬 -最終, Java語言是為您的瀏覽器而不是您的用戶使用的 。
大多數生產網站都使用Javascript壓縮,但實現方式卻大不相同。 從簡單的在線轉換器到更全面的GUI工具,再到命令行界面,我們的選擇千差萬別。 在本文中,我們將研究Javascript縮小的工作原理 ,如何將其構建到工作流中以及縮小的利弊。
縮小工作原理
最小化代碼時了解結果的最好方法是查看UglifyJS Github存儲庫 。 許多在線轉換器以及GUI工具和命令行工具(例如Grunt)都使用此腳本。 以下是一些可以使您的代碼更短的轉換:
- 刪除不必要的空間
- 縮短變量名,通常為單個字符
- 加入連續的var聲明
- 盡可能將數組轉換為對象
- 優化if語句
- 計算簡單的常量表達式
- 等等
舉個簡單的例子,這是一個實際上寫一些給定文本的函數。
function hello( text ) {document.write( text ); }hello( 'Welcome to the article' );讓我們看看最小化時會發生什么。 注意刪除空格和縮進以及縮短text變量。
function hello(e){document.write(e)}hello("Welcome to the article")Javascript縮小工具
用于縮小Javascript的工具可以大致分為三類:在線工具,GUI工具和命令行工具。
- 使用在線工具通常需要粘貼代碼并立即復制結果。
- GUI工具通常包含更多功能。 JS縮小只是他們所做工作的一小部分。
- 命令行工具通常也更全面,以最小化為模塊。
線上工具
- javascript-minifier.com是帶有API的漂亮工具
- Online YUI Compressor是使用YUI壓縮器的更強大的工具,還具有許多選項和CSS縮小功能
- jscompress.com是一款簡潔的壓縮程序,但可以完成工作
- jsmini.com是另一個簡單但完全可用的選項
在線工具的優點在于您使用它們的速度。 復雜的GUI和命令行工具可以更快地縮小規模,但是您需要設置一個項目才能使其正常工作。 這些工具的不利之處在于,至少與命令行工具相比,它們幾乎沒有提供自定義功能 。
GUI工具
- Koala是用于LESS,SASS編譯,JS縮小等的免費工具
- Prepros是一款跨平臺的付費應用程序,可為您提供更多選擇
- Codekit是我的首選應用。 這是一款付費的Mac專用應用程序,提供代碼編譯,縮小,預覽服務器,bower軟件包管理等更多功能。
- AjaxminGui是用于縮小JS的免費,單一用途的Windows工具
- UltraMinifier是OS X的免費應用程序,可通過拖放操作最小化CSS和JS
- Smaller是OS X工具,可為您最小化和連接文件
我在這里提到了兩種類型的GUI應用程序。 簡單的一步式縮小應用程序非常類似于其在線對應程序。 它們使用起來非常快捷,因為您只需將文件拖放到其中,無需進行設置。 也就是說,它們實際上不提供定制 。
較大的GUI工具(Prepros,Koala,Codekit)非常適合管理項目,并為您提供了更多壓縮選項,但它們確實需要一些設置 。 與在線或簡單GUI工具的2秒過程相比,快速JS縮小需要大約20秒的設置時間。
另一方面,它們通常為您提供更多功能并為您提供自動化。 每次保存時,您的JS文件都會被縮小,而無需手動進行縮小。 如果您正在用Javascript開發某些東西,那么這絕對是正確的方法。
命令行工具
- Minify適用于那些想從命令行最小化JS但又不想在Grunt或Gulp中設置任何花哨功能的人
- 我們前面提到的Uglify.js也可以作為獨立的命令行工具使用
- Grunt有一個名為grunt-contrib-uglify的 Javascript壓縮擴展。
- Gulp也通過gulp - uglify使用Uglify.js進行JS壓縮
命令行工具不僅適用于Linux極客! 我在終端上不是很好,但是通過他們出色的文檔可以輕松設置Grunt和Gulp之類的東西。 命令行工具的好處在于,從選項到輸出,您都擁有極大的靈活性。
另一方面,還有一些學習曲線 。 習慣了命令行需要一些(不是很多)練習,在開始享受這些好處之前,您會發現這是限制性的。
總覽
如果您不熟悉Web開發,則建議您使用前三個GUI工具之一。 他們將幫助您總體上管理項目,并提供不僅僅是JS縮小的功能。
如果您是經驗豐富的專業人士,則應該考慮使用Grunt或Gulp,因為它們可以最大程度地控制自動化任務。 如果您需要快速縮小腳本而無需設置項目 ,則命令行工具可以節省大量時間。
每組工具各有優缺點,實際上,您可能最終會在某些時候使用其中一種。 請記住,在生產環境中時,應始終最小化Javascript和CSS!
翻譯自: https://www.hongkiat.com/blog/javascript-minifying-tools/
總結
以上是生活随笔為你收集整理的javascript 压缩_14种用于压缩JavaScript的工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雾霾塔设计师罗斯加德:智慧城市应该可持续
- 下一篇: 输入法不见了怎么办