【问题标题】:PHP / Javascript minificationPHP / Javascript 缩小
【发布时间】:2017-05-09 15:56:06
【问题描述】:

我很好奇是否有一个完整的缩小器可以做 javascript 和 php / html 缩小?例如,如果您查看这支笔: http://codepen.io/ajhalls/pen/qmEKVY

你可以在 HTML 区域看到你有代码

 <div class="col-sm-1 svgPatternItem " data-id="svgPattern-42 " style="font-size:14px;text-shadow: 0px 0px 4px rgb(0, 0, 0);color:#fff;position:relative;width:100px;height:100px; ">

然后在javascript中,你有:

$(".svgPatternItem").each(function( index ) {

虽然svgPatternItem 类使其具有描述性和可读性,但它的冗长是不必要的。在崇高的情况下,我可以进行全局搜索和替换以使该类 aa 和下一个类 ab 等等,但这正是您期望宏擅长的工作类型,但我没有'没有找到可以同时修改两者的。

为了使事情更加复杂,我混合了一些新的 ECMAScript 2017,它破坏了大多数压缩器,但是这使得开发变得更加愉快,就像在定义多行变量时使用反引号一样。如果需要,我可以将内容恢复为以前的 JS,但除非需要,否则开发起来会更加困难。

我正在查看http://esprima.org,如果您使用之前 codepen 中的 js 代码查看在线解析器,您只需要查找 callee =&gt; arguments =&gt; value,如果它是一个字母数字值,请执行在“应该”工作的整个 php 和 javascript 代码库中使用短变量名进行全局搜索和替换。

说了这么多,从我的最后两个问题可以看出,我还没有找到一种方法来使用 javascript 或 PHP 解析自己。也许 python 可以做到,但我想知道我是否需要一个完整的 Windows 应用程序(例如 Sublime)来为我完成这项工作,所以想知道是否有其他人解决了这个特定问题。

【问题讨论】:

  • 您可以使用grunt 之类的东西来缩小您的代码。
  • 感谢 Anthony,我的理解是 grunt 不会同时执行它们,如果您想替换 js 和 html 中的类名,这将是必需的。我弄错了吗?
  • 你是对的。据我所知,它不会缩小 class 名称、ids 等。

标签: javascript php python minify


【解决方案1】:

就 JavaScript 缩小而言,最好的是 Google Closure Compiler。

它有一个在线版本以及一个可下载的可运行 java jar 文件。 在此处了解有关 JS 的 Google Closure 编译器的更多信息:

https://closure-compiler.appspot.com/home

https://developers.google.com/closure/compiler/

HTML 缩小:

github 上有一个存储库,可让您将 CSS、JS 和 HTML 整合到一行代码中,您可以在 https://github.com/searchturbine/phpwee-php-minifier 找到它

它在 PHP 引擎上运行。

如果您想混淆您的 JS 代码,有一个名为 uglification 的概念,它基本上可以将您的代码缩小并混淆您的逆向工程到一定程度,请在以下位置找到更多信息:https://github.com/mishoo/UglifyJS2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多