CSS和JS是網頁開發中必不可少的兩個工具,但隨著網頁越來越復雜,CSS和JS文件也變得越來越大,這對于網站的加載速度會造成一定的影響,所以我們需要對CSS和JS進行解壓。
// CSS解壓
function unzipCss(css){
return css.replace(/\s+/g,'')
.replace(/\/\*(.*?)\*\//g,'')
.replace(/}\s*/g,'}\n')
.replace(/([:;,{}])/g,'$1 ')
.replace(/\n+/g,'\n')
.replace(/^\n|\n$/g,'');
}
上面這段代碼實現了CSS的解壓操作,首先使用正則表達式去除CSS文件中的空格和注釋,然后在每個“}”后面加上換行,最后去掉所有的空行。
// JS解壓
function unzipJs(js){
var indentChar = ' ', indentDepth = 0,
indentString = '', startPos = 0, endPos = 0, nextChar = '';
js = js.replace(/^\s+|\s+$/g, '');
for (var i = 0; i< js.length; i++) {
nextChar = js.charAt(i);
if (nextChar == '{' || nextChar == '[') {
indentDepth++;
indentString += indentChar;
endPos = i;
js = js.substring(0, endPos+1) + '\n' + indentString + js.substring(endPos+1, js.length);
}
else if (nextChar == '}' || nextChar == ']') {
indentDepth--;
indentString = indentString.slice(0, -indentChar.length);
startPos = i;
js = js.substring(0, startPos) + '\n' +indentString + js.substring(startPos, js.length);
}
else if (nextChar == ';') {
endPos = i;
js = js.substring(0, endPos+1) + '\n' + indentString + js.substring(endPos+1, js.length);
}
}
js = js.replace(/\n+/g, '\n');
return js;
}
上面這段代碼實現了JS的解壓操作,它通過遍歷JS文件中的每一行,對每行進行縮進,并在特定字符前后添加換行符,最后去掉所有的空行。這里我們使用了“ ”來表示縮進。
通過對CSS和JS文件的解壓,可以讓網站的加載速度更快,用戶體驗更好。
上一篇css3復選框是否被選中
下一篇css js文件在線壓縮