javascript小型化器

rjsmin的Python项目详细描述


rjsmin是一个用python编写的javascript小型化程序。

minifier基于jsmin.c by Douglas Crockford的语义。

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

  • 没有错误检测:未终止的字符串、正则表达式和注释 文本被视为常规的javascript代码,并因此被缩小。
  • 字符串和regex文本中的控制字符保持不变;它们 不转换为空格(也不转换为N)
  • 字符串和regex文本中不允许使用换行符,除非 用于字符串文本中的行连续(ECMA-5)。
  • “return/regex/”被正确识别。
  • 在正则表达式之前允许有更多字符。
  • 处理regex文本后的行结束符更加合理
  • “++”和“--”序列不折叠为“++”或“–”
  • 新台词!操作员被更明智地删除
  • 支持(不支持)模板文本(ECMA-6)
  • 可以选择保留以感叹号(!)开头的注释
  • rjsmin不处理流,只处理完整的字符串。(然而, 模块提供“streamy”接口)。

因为大部分逻辑都是由regex引擎处理的,所以速度要快得多。 甚至比baruch的原始python端口jsmin.c还要多。速度系数 根据输入和python版本的不同,在6到55之间变化 输入的压缩速度越快)。与 dave st.germain的speed重构python端口的性能提高较小 戏剧性,但仍在3到50之间(对于巨大的投入)。见 文档/基准文件了解详细信息。

rjsmin.c是rjsmin.py在c中的一个重新实现,它的速度更快。

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

错误

当然没有虫子。;-) 但是如果你已经找到一个或者知道如何改进rjsmin,请放心 在github上发送请求 或向<;rjsmin-bugs@perlig.de>;发送邮件。

作者信息

andré“nd”malo<;nd perlig.de>; GPG:0x8103A37E

If God intended people to be naked, they would be born that way. – Oscar Wilde

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
分离实体上的java JPA merge()在其存在时进行插入   java Android Javamail自定义身份验证   java如何找出EAR包中执行的第一个文件   sockets Java:如何重用SocketChannel   java通过MQTT和ssl连接安卓设备   java如何修复控制台中的“未知命令”错误?   java为多线程FizzBuzz编写测试用例   java解析findBy中的嵌套对象属性   异常Java:在这种特殊情况下,如何处理ConcurrentModificationException?   从java教科书中绘制图形   java找不到类型为com的响应对象的MessageBodyWriter。太阳运动衫应用程序编程接口。json。JSONWithPadding媒体类型:application/xjavascript   java如何在Android中将光标设置在tableLayout的行/列中所需的位置   Elasticsearch:java。lang.IllegalArgumentException:在docker容器上运行时不允许自我抑制   如何在Java中继承此方法?   java为什么我的消息消费者不接收所有其他消息?   java为什么@ApplicationScoped bean在CDI扩展的关闭前阶段有一个新实例?