整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          Python壓縮JS文件,重點(diǎn)是 slimit

          文分享自華為云社區(qū)《Python壓縮JS文件,PythonWeb程序員必看系列,重點(diǎn)是 slimit-云社區(qū)-華為云》,作者: 夢想橡皮擦 。

          本篇博客將學(xué)習(xí)壓縮 JS 代碼,首先要學(xué)習(xí)的模塊是 jsmin。

          jsmin 庫

          Python 中的 jsmin 庫來壓縮 JavaScript 文件。這個(gè)庫可以通過刪除不必要的空格和注釋來最小化 JavaScript 代碼。

          庫的安裝

          在控制臺(tái)使用如下命令即可安裝,注意如果網(wǎng)絡(luò)不好,請切換國內(nèi)源。

          pip install jsmin

          jsmin 庫代碼示例

          在壓縮前,請?zhí)崆皽?zhǔn)備一個(gè)未被壓縮的 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 文件核心用到的函數(shù)是 jsmin.jsmin(input_file.read()),其 jsmin() 詳細(xì)說明如下。

          這個(gè)函數(shù)接受一個(gè)字符串參數(shù),表示要壓縮的 JavaScript 代碼。它會(huì)移除不必要的空格、注釋和換行符,并返回壓縮后的 JavaScript 代碼。注意該方法不支持 ECMAScript 6 新特性。

          jsmin.jsmin(javascript_code)

          rjsmin 庫

          rjsmin 是 Python 編寫的 JavaScript 代碼壓縮工具,該庫的使用與 jsmin 基本一致,壓縮速度會(huì)快一些,所有的邏輯都使用正則表達(dá)式實(shí)現(xiàn)。

          庫的安裝

          使用下述命令進(jìn)行安裝,該庫包含 rjsmin 庫。

          pip install rjsmin

          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 庫

          slimit 是一個(gè) Python 庫,它可以用來壓縮 JavaScript 代碼。slimit 是一個(gè)純 Python 實(shí)現(xiàn),它沒有依賴其它庫,可以在任何環(huán)境下使用。

          slimit 使用了 LALR(1) 語法分析器來解析 JavaScript 代碼,并使用自己的算法來壓縮代碼。它支持壓縮 ECMAScript 5 代碼,包括使用了 ECMAScript 5 的嚴(yán)格模式。

          庫的安裝

          pip install slimit

          slimit 庫的使用

          slimit 的用法非常簡單,提供了一個(gè)名為 slimit() 的函數(shù),可以將 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)

          首次運(yùn)行忽略代碼警告即可。

          slimit 庫的其他用途

          遍歷、修改 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())

          關(guān)注#華為云開發(fā)者聯(lián)盟# 點(diǎn)擊下方,第一時(shí)間了解華為云新鮮技術(shù)~

          華為云博客_大數(shù)據(jù)博客_AI博客_云計(jì)算博客_開發(fā)者中心-華為云

          ic Smaller 是一款超級(jí)易于使用的在線圖像壓縮工具。它的用戶界面直觀,支持壓縮配置。同時(shí),因?yàn)樗羌兇獾谋镜貕嚎s,沒有任何服務(wù)器端邏輯,所以它是完全安全的。




          用法

          Pic smaller 已部署到 vercel,您可以通過訪問 URL pic-smaller.vercel.app 來使用它。由于GFW,中國用戶可以通過訪問URL txx.cssrefs.com 來使用它

          發(fā)展

          這是一個(gè)純粹的 vite + React 項(xiàng)目,你必須先熟悉它們。Pic smaller 使用現(xiàn)代瀏覽器技術(shù),如 、 和 。在開發(fā)之前,您還應(yīng)該熟悉它們。OffscreenCanvasWebAssemblyWeb Worker

          T之家10月2日消息 《GIF小助手》是一款iOS平臺(tái)功能強(qiáng)大的動(dòng)圖壓縮與編輯軟件,通過這個(gè)軟件您可以將 多個(gè)圖片、視頻、Livephoto 制作成 GIF,并個(gè)性化編輯分享給朋友。

          功能介紹:

          - GIF壓縮、裁剪、添加文字、調(diào)整倍速、調(diào)整幀集圖

          -多個(gè)圖片制作GIF

          -利用視頻制作GIF

          -利用LivePhoto(實(shí)況照片)制作GIF

          -支持Giphy搜索,下載GIF

          -生成適用于微信限定大小的GIF

          -快速分享到各個(gè)社交軟件

          應(yīng)用下載:點(diǎn)此進(jìn)入App Store下載(要 iOS 10.0 或更高版本。與 iPhone、iPad 和 iPod touch 兼容。)

          更多精選應(yīng)用,請關(guān)注IT之家iOS應(yīng)用推薦:iPhone入口|| iPad入口


          主站蜘蛛池模板: 国产成人精品一区二区A片带套| 久久国产午夜精品一区二区三区| 国产精品视频免费一区二区三区| 一区二区三区国模大胆| 国产乱子伦一区二区三区| 一区二区传媒有限公司| 成人区人妻精品一区二区不卡| 无码人妻精品一区二区三区99性| 久久91精品国产一区二区| 亚洲国产精品一区第二页 | 日韩经典精品无码一区| 精品视频在线观看一区二区| 国产日韩高清一区二区三区| 久久精品一区二区国产| 日韩一区二区在线视频| jizz免费一区二区三区| 日韩人妻精品无码一区二区三区| 精品国产一区二区三区麻豆| 国产色欲AV一区二区三区| 一区二区三区四区在线视频| 国产成人精品一区二区三区免费| tom影院亚洲国产一区二区| 亚洲熟女www一区二区三区| 久久精品无码一区二区三区日韩| 国产波霸爆乳一区二区| 韩国一区二区三区| 亚洲美女视频一区| 无码国产亚洲日韩国精品视频一区二区三区 | 国产精品熟女一区二区| 亚洲一区二区三区国产精华液| 免费一区二区三区四区五区| 国产在线视频一区二区三区98| 精品国产鲁一鲁一区二区| 精品一区二区无码AV| 亚洲乱码一区二区三区国产精品| 久久久无码精品国产一区| 亚洲AV无码一区二三区| 熟妇人妻系列av无码一区二区| 亚洲国产激情一区二区三区| 国产一区二区三区在线免费观看 | 日韩精品中文字幕无码一区 |