Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
文分享自華為云社區《Python壓縮JS文件,PythonWeb程序員必看系列,重點是 slimit-云社區-華為云》,作者: 夢想橡皮擦 。
本篇博客將學習壓縮 JS 代碼,首先要學習的模塊是 jsmin。
Python 中的 jsmin 庫來壓縮 JavaScript 文件。這個庫可以通過刪除不必要的空格和注釋來最小化 JavaScript 代碼。
在控制臺使用如下命令即可安裝,注意如果網絡不好,請切換國內源。
pip install jsmin
在壓縮前,請提前準備一個未被壓縮的 JS 文件,便于對口前后效果。
import jsmin
with open("jquery.tweetscroll.js", "r", encoding='utf-8') as input_file:
with open("output.js", "w", encoding='utf-8') as output_file:
output_file.write(jsmin.jsmin(input_file.read()))
下圖可直觀查閱壓縮前與壓縮后的效果。
壓縮 JS 文件核心用到的函數是 jsmin.jsmin(input_file.read()),其 jsmin() 詳細說明如下。
這個函數接受一個字符串參數,表示要壓縮的 JavaScript 代碼。它會移除不必要的空格、注釋和換行符,并返回壓縮后的 JavaScript 代碼。注意該方法不支持 ECMAScript 6 新特性。
jsmin.jsmin(javascript_code)
rjsmin 是 Python 編寫的 JavaScript 代碼壓縮工具,該庫的使用與 jsmin 基本一致,壓縮速度會快一些,所有的邏輯都使用正則表達式實現。
使用下述命令進行安裝,該庫包含 rjsmin 庫。
pip install rjsmin
import rjsmin
with open("jquery.tweetscroll.js", "r", encoding='utf-8') as input_file:
with open("output.js", "w", encoding='utf-8') as output_file:
output_file.write(rjsmin.jsmin(input_file.read()))
slimit 是一個 Python 庫,它可以用來壓縮 JavaScript 代碼。slimit 是一個純 Python 實現,它沒有依賴其它庫,可以在任何環境下使用。
slimit 使用了 LALR(1) 語法分析器來解析 JavaScript 代碼,并使用自己的算法來壓縮代碼。它支持壓縮 ECMAScript 5 代碼,包括使用了 ECMAScript 5 的嚴格模式。
pip install slimit
slimit 的用法非常簡單,提供了一個名為 slimit() 的函數,可以將 JavaScript 代碼作為字符串傳入,并返回壓縮后的 JavaScript 代碼。
from slimit import minify
text = """
var foo = function( obj ) {
for ( var name in obj ) {
return false;
}
return true;
};
"""
js_cdoe = minify(text, mangle=True, mangle_toplevel=True)
print(js_cdoe)
首次運行忽略代碼警告即可。
遍歷、修改 JavaScript AST
from slimit.parser import Parser
from slimit.visitors import nodevisitor
from slimit import ast
parser = Parser()
tree = parser.parse('for(var i=0; i<10; i++) {var x=5+i;}')
for node in nodevisitor.visit(tree):
if isinstance(node, ast.Identifier) and node.value == 'i':
node.value = 'hello'
print(tree.to_ecma())
關注#華為云開發者聯盟# 點擊下方,第一時間了解華為云新鮮技術~
華為云博客_大數據博客_AI博客_云計算博客_開發者中心-華為云
ic Smaller 是一款超級易于使用的在線圖像壓縮工具。它的用戶界面直觀,支持壓縮配置。同時,因為它是純粹的本地壓縮,沒有任何服務器端邏輯,所以它是完全安全的。
Pic smaller 已部署到 vercel,您可以通過訪問 URL pic-smaller.vercel.app 來使用它。由于GFW,中國用戶可以通過訪問URL txx.cssrefs.com 來使用它
這是一個純粹的 vite + React 項目,你必須先熟悉它們。Pic smaller 使用現代瀏覽器技術,如 、 和 。在開發之前,您還應該熟悉它們。OffscreenCanvasWebAssemblyWeb Worker
T之家10月2日消息 《GIF小助手》是一款iOS平臺功能強大的動圖壓縮與編輯軟件,通過這個軟件您可以將 多個圖片、視頻、Livephoto 制作成 GIF,并個性化編輯分享給朋友。
功能介紹:
- GIF壓縮、裁剪、添加文字、調整倍速、調整幀集圖
-多個圖片制作GIF
-利用視頻制作GIF
-利用LivePhoto(實況照片)制作GIF
-支持Giphy搜索,下載GIF
-生成適用于微信限定大小的GIF
-快速分享到各個社交軟件
應用下載:點此進入App Store下載(要 iOS 10.0 或更高版本。與 iPhone、iPad 和 iPod touch 兼容。)
更多精選應用,請關注IT之家iOS應用推薦:iPhone入口|| iPad入口
*請認真填寫需求信息,我們會在24小時內與您取得聯系。