『壹』 如何壓縮js
簡單的壓縮一般是:刪除注釋和空白符,替換變數名。
更激進點的做法還包括:刪除無用代碼,內聯函數,等價語句替換等。
有些開發者出於保護代碼的原因,還可能會對代碼進行混淆處理。
通常深度壓縮JS都必須要做的一步就是盡量地縮短變數名,因為一份體積巨大的JS代碼,其中的變數名會佔去不少空間。
壓縮js必須要注意:
1、壓縮前的代碼格式要標准。因為去掉換行與空格時,所有語句就變成一行,如果你的代碼有瑕疵(比如某行少了個分號),那就會導致整個文件報錯。當然,現在有的壓縮工具已經比較智能了。
2、備份原文件。壓縮很可能不會一次成功,一般要多試,多改。
js壓縮工具:
1. YUI Compressor
2. Google Closure Compiler
『貳』 js代碼壓縮的優點
有利於頁面的性能提高,加快頁面的打開速度,尤其是第一次訪問時。
『叄』 將Js和CSS文件壓縮成min文件
個人建議從幾個方面入手:
1、在伺服器上啟用GZIP壓縮,添加css等靜態文件等。
2、把主頁、內容頁的CSS分開寫,公共部分單獨用一個CSS,這樣就可以減少CSS的大小。
3、優化CSS語法,並可以使用工具壓縮,但要注意用多個瀏覽器測試。
4、將一些JS調用盡量放到網頁底部
『肆』 gzip怎麼壓縮js
1.cmd
2.path=C:\ ... 你安裝的gzip目錄
3.aaa.js放到指定目錄 gzip aaa.js
『伍』 請教各位mvc的js打包壓縮有關的問題
1.引用js文件,如果有.min.js和.js文件 最好只引用.js文件 而不去引用.min.js文件,因為系統在Release之後會自動去查找相應的.min.js文件的 而在debug時會引用.js文件 這樣方便調試
2.確定文件是否存在,如果不存在,知道怎麼改了吧??
3.我發現樓主還不了解BundleConfig的使用方法。
new StyleBundle("綁定實例名") 這里明明是名稱,但為什麼這名稱看起來像路徑
比如你這里的 new StyleBundle("~/Index/css_easyui")
為什麼會像路徑??
這是有原因的
當你在Release之後 BundleConfig會把你這個Include中的所有文件進行壓縮成一個文件,但這個文件的路徑是什麼,就是這個"綁定實例名"
也就是說 在這里,當你Release之後 你的css將會生成 <link type="text/css" rel="stylesheet" href="~/Index/css_easyui?隨機數"/>
接著說:
如果 你的css文件~/Content/Css/themes/icon.css裡面有句話:
.cls
{
background-image:url(../img/xxxx.gif);
}
發現問題沒有呢? 在Release之前
這個背景圖的路徑是:~/Content/Css/img/xxxx.gif
而在Release之後 因為你的css文件已經整合到了~/Index/css_easyui?隨機數這個文件裡面
所以Release之後這個圖片路徑卻變成了:~/img/xxxx.gif
『陸』 怎樣將js 壓縮成 jsgz 文件
html中內嵌js代碼修改為外部調用的方法: 1,新建一個js文件,將html中之前的代碼全部選中剪切到該js文件中。如下這個案例,就只剪切其中的alert("測試")。 alert("測試");2,在html中添加js文件調用代碼
『柒』 如何壓縮js文件
js文件,據我所知應該是javaScript的腳本文件,這種文件本身就是全文本,跟TXT文件差不多,應該不需要壓縮了呀。。
『捌』 js文件 壓縮成一個 是怎麼弄的
gulp + webpack/browserify
用gulp加上webpack或者browserify來完成。js之間使用require相互引用,然後在gulpfile裡面設置把所有文件整合輸出並uglify
『玖』 壓縮後的JS代碼怎樣解壓縮
一般壓縮都經過混淆,如果你看到變數名都是A,B,C,D之類的無規則的命名,那就是被混淆過的,一般來說也很難閱讀,就算你 還原了格式。
如果是沒有混淆的,你可以試試用js的格式化工具來重新格式化一下的,比如:
/* 美化:格式化代碼,使之容易閱讀 */
/* 凈化:去掉代碼中多餘的注釋、換行、空格等 */
/* 壓縮:將代碼壓縮為更小體積,便於傳輸 */
/* 解壓:將壓縮後的代碼轉換為人可以閱讀的格式 */
/* 混淆:將代碼的中變數名簡短化以減小體積,但可讀性差,經混淆後的代碼無法還原 */
/* 如果有用,請別忘了推薦給你的朋友: */
/* javascript在線美化、凈化、壓縮、解壓:http://tool.lu/js */
/* 以下是演示代碼 */
var Inote = {};
Inote.JSTool = function(options) {
this.options = options || {};
};
Inote.JSTool.prototype = {
_name: 'Javascript工具',
_history: {
'v1.0': ['2011-01-18', 'javascript工具上線'],
'v1.1': ['2012-03-23', '增加混淆功能'],
'v1.2': ['2012-07-21', '升級美化功能引擎'],
'v1.3': ['2014-03-01', '升級解密功能,支持eval,window.eval,window["eval"]等的解密'],
'v1.4': ['2014-08-05', '升級混淆功能引擎'],
'v1.5': ['2014-08-09', '升級js壓縮引擎'],
'v1.6': ['2015-04-11', '升級js混淆引擎']
},
options: {},
getName: function() {return this._name;},
getHistory: function() {
return this._history;}
};
var jstool = new Inote.JSTool();