跳转到主要内容

JavaScript压缩器

项目描述

rJSmin是用Python编写的JavaScript压缩器。

该压缩器基于Douglas Crockford的jsmin.c语义。

该模块是一个针对速度的重实现,因此可以在运行时使用(而不是在预处理步骤中)。通常它产生的结果与原始的jsmin.c相同。它在以下方面有所不同

  • 没有错误检测:未终止的字符串、正则表达式和注释文字被视为常规JavaScript代码并相应地进行压缩。

  • 字符串和正则表达式文字内的控制字符保持不变;它们不会被转换为空格(或n)

  • 字符串和正则表达式文字内不允许有换行符,除非字符串文字中的行延续(ECMA-5)。

  • “return /regex/”被正确识别。

  • 在正则表达式之前允许更多的字符。

  • 处理正则表达式文字之后的行终止符更为合理

  • “+ +”和“- -”序列不会折叠为“++”或“–”

  • 在!操作符之前的换行符被更合理地删除

  • 支持(非嵌套)模板文字(ECMA-6)

  • 以感叹号(!)开头的注释可以可选保留

  • rJSmin 不处理流,只处理完整的字符串。(然而,模块提供了一个“流式”接口)。

由于逻辑的大部分部分由正则表达式引擎处理,它的速度比 Baruch Even 的原始 python 版本的 jsmin.c 快得多。速度因子在 6 到 55 之间变化,具体取决于输入和 python 版本(输入越压缩,速度越快)。与 Dave St.Germain 的速度重构的 python 版本相比,性能提升不是很显著,但仍在 3 到 50 之间(对于大量输入)。有关详细信息,请参阅 docs/BENCHMARKS 文件。

rjsmin.c 是 rjsmin.py 的 C 语言重实现,速度更快。

支持的 python 版本是 2.7 和 3.6+。

错误

当然没有错误。 ;-) 但如果您发现了一个或有一个改进 rjsmin 的想法,请随时在 github 上发送拉取请求或发送电子邮件至 <rjsmin-bugs@perlig.de>。

作者信息

André “nd” Malo <nd perlig.de> GPG: 0x029C942244325167

如果上帝想让人们赤身裸体,他们就会这样出生。 – 奥斯卡·王尔德

项目详情


下载文件

下载适合您平台的自定义文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分发

rjsmin-1.2.2.tar.gz (420.6 kB 查看哈希值

上传时间

构建分发

rjsmin-1.2.2-cp312-cp312-musllinux_1_1_x86_64.whl (36.0 kB 查看哈希值

上传时间 CPython 3.12 musllinux: musl 1.1+ x86-64

rjsmin-1.2.2-cp312-cp312-musllinux_1_1_i686.whl (36.1 kB 查看哈希值

上传时间 CPython 3.12 musllinux: musl 1.1+ i686

rjsmin-1.2.2-cp312-cp312-musllinux_1_1_aarch64.whl (36.0 kB 查看哈希值

上传时间 CPython 3.12 musllinux: musl 1.1+ ARM64

rjsmin-1.2.2-cp312-cp312-manylinux2014_aarch64.whl (32.0 kB 查看哈希值)

上传时间 CPython 3.12

rjsmin-1.2.2-cp312-cp312-manylinux1_x86_64.whl (31.7 kB 查看哈希值)

上传时间 CPython 3.12

rjsmin-1.2.2-cp312-cp312-manylinux1_i686.whl (31.8 kB 查看哈希值)

上传时间 CPython 3.12

rjsmin-1.2.2-cp311-cp311-musllinux_1_1_x86_64.whl (36.1 kB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ x86-64

rjsmin-1.2.2-cp311-cp311-musllinux_1_1_i686.whl (36.1 kB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ i686

rjsmin-1.2.2-cp311-cp311-musllinux_1_1_aarch64.whl (36.0 kB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ ARM64

rjsmin-1.2.2-cp311-cp311-manylinux2014_aarch64.whl (32.2 kB 查看哈希值)

上传时间 CPython 3.11

rjsmin-1.2.2-cp311-cp311-manylinux1_x86_64.whl (31.7 kB 查看哈希值)

上传时间 CPython 3.11

rjsmin-1.2.2-cp311-cp311-manylinux1_i686.whl (31.9 kB 查看哈希值)

上传时间 CPython 3.11

rjsmin-1.2.2-cp310-cp310-musllinux_1_1_x86_64.whl (34.3 kB 查看哈希值)

上传时间 CPython 3.10 musllinux: musl 1.1+ x86-64

rjsmin-1.2.2-cp310-cp310-musllinux_1_1_i686.whl (34.4 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ i686

rjsmin-1.2.2-cp310-cp310-musllinux_1_1_aarch64.whl (34.3 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ ARM64

rjsmin-1.2.2-cp310-cp310-manylinux2014_aarch64.whl (30.7 kB 查看哈希值)

上传于 CPython 3.10

rjsmin-1.2.2-cp310-cp310-manylinux1_x86_64.whl (34.9 kB 查看哈希值)

上传于 CPython 3.10

rjsmin-1.2.2-cp310-cp310-manylinux1_i686.whl (34.9 kB 查看哈希值)

上传于 CPython 3.10

rjsmin-1.2.2-cp39-cp39-musllinux_1_1_x86_64.whl (34.1 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ x86-64

rjsmin-1.2.2-cp39-cp39-musllinux_1_1_i686.whl (34.2 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ i686

rjsmin-1.2.2-cp39-cp39-musllinux_1_1_aarch64.whl (34.0 kB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ ARM64

rjsmin-1.2.2-cp39-cp39-manylinux2014_aarch64.whl (30.2 kB 查看哈希值)

上传于 CPython 3.9

rjsmin-1.2.2-cp39-cp39-manylinux1_x86_64.whl (28.9 kB 查看哈希值)

上传于 CPython 3.9

rjsmin-1.2.2-cp39-cp39-manylinux1_i686.whl (28.7 kB 查看哈希值)

上传于 CPython 3.9

rjsmin-1.2.2-cp38-cp38-musllinux_1_1_x86_64.whl (34.3 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ x86-64

rjsmin-1.2.2-cp38-cp38-musllinux_1_1_i686.whl (34.4 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ i686

rjsmin-1.2.2-cp38-cp38-musllinux_1_1_aarch64.whl (34.2 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ ARM64

rjsmin-1.2.2-cp38-cp38-manylinux2014_aarch64.whl (30.7 kB 查看哈希值)

上传于 CPython 3.8

rjsmin-1.2.2-cp38-cp38-manylinux1_x86_64.whl (29.1 kB 查看哈希值)

上传于 CPython 3.8

rjsmin-1.2.2-cp38-cp38-manylinux1_i686.whl (29.0 kB 查看哈希值)

上传于 CPython 3.8

rjsmin-1.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl (34.8 kB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.1+ x86-64

rjsmin-1.2.2-cp37-cp37m-musllinux_1_1_i686.whl (34.9 kB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.1+ i686

rjsmin-1.2.2-cp37-cp37m-musllinux_1_1_aarch64.whl (34.6 kB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.1+ ARM64

rjsmin-1.2.2-cp37-cp37m-manylinux2014_aarch64.whl (31.3 kB 查看哈希值)

上传于 CPython 3.7m

rjsmin-1.2.2-cp37-cp37m-manylinux1_x86_64.whl (29.8 kB 查看哈希值)

上传于 CPython 3.7m

rjsmin-1.2.2-cp37-cp37m-manylinux1_i686.whl (29.6 kB 查看哈希值)

上传于 CPython 3.7m

rjsmin-1.2.2-cp36-cp36m-musllinux_1_1_x86_64.whl (33.9 kB 查看哈希值)

上传时间: CPython 3.6m musllinux: musl 1.1+ x86_64

rjsmin-1.2.2-cp36-cp36m-musllinux_1_1_i686.whl (34.0 kB 查看哈希值)

上传时间: CPython 3.6m musllinux: musl 1.1+ i686

rjsmin-1.2.2-cp36-cp36m-musllinux_1_1_aarch64.whl (33.7 kB 查看哈希值)

上传时间: CPython 3.6m musllinux: musl 1.1+ ARM64

rjsmin-1.2.2-cp36-cp36m-manylinux2014_aarch64.whl (30.3 kB 查看哈希值)

上传时间: CPython 3.6m

rjsmin-1.2.2-cp36-cp36m-manylinux1_x86_64.whl (28.8 kB 查看哈希值)

上传时间: CPython 3.6m

rjsmin-1.2.2-cp36-cp36m-manylinux1_i686.whl (28.6 kB 查看哈希值)

上传时间: CPython 3.6m

rjsmin-1.2.2-cp27-cp27mu-manylinux1_x86_64.whl (27.8 kB 查看哈希值)

上传时间: CPython 2.7mu

rjsmin-1.2.2-cp27-cp27mu-manylinux1_i686.whl (27.6 kB 查看哈希值)

上传时间: CPython 2.7mu

rjsmin-1.2.2-cp27-cp27m-manylinux1_x86_64.whl (27.8 kB 查看哈希值)

上传时间: CPython 2.7m

rjsmin-1.2.2-cp27-cp27m-manylinux1_i686.whl (27.6 kB 查看哈希值)

上传时间: CPython 2.7m