整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Python压缩JS文件,重点是 slimit

文分享自华为云社区《Python压缩JS文件,PythonWeb程序员必看系列,重点是 slimit-云社区-华为云》,作者: 梦想橡皮擦 。

本篇博客将学习压缩 JS 代码,首先要学习的模块是 jsmin。

jsmin 库

Python 中的 jsmin 库来压缩 JavaScript 文件。这个库可以通过删除不必要的空格和注释来最小化 JavaScript 代码。

库的安装

在控制台使用如下命令即可安装,注意如果网络不好,请切换国内源。

pip install jsmin

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 库

rjsmin 是 Python 编写的 JavaScript 代码压缩工具,该库的使用与 jsmin 基本一致,压缩速度会快一些,所有的逻辑都使用正则表达式实现。

库的安装

使用下述命令进行安装,该库包含 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 是一个 Python 库,它可以用来压缩 JavaScript 代码。slimit 是一个纯 Python 实现,它没有依赖其它库,可以在任何环境下使用。

slimit 使用了 LALR(1) 语法分析器来解析 JavaScript 代码,并使用自己的算法来压缩代码。它支持压缩 ECMAScript 5 代码,包括使用了 ECMAScript 5 的严格模式。

库的安装

pip install slimit

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)

首次运行忽略代码警告即可。

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())

关注#华为云开发者联盟# 点击下方,第一时间了解华为云新鲜技术~

华为云博客_大数据博客_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入口