【问题标题】:How does minification work and does it affect angular nested objects?缩小是如何工作的,它会影响角度嵌套对象吗?
【发布时间】:2013-06-24 17:13:39
【问题描述】:

缩小如何处理$scope.obj.subObj = { key: val ...};

据我了解,最后使用的变量保持不变,

但如果我有 html 元素

<div>{{obj.subObj.key}}</div>

缩小的结果会将代码缩短为 a.b.c.key 吗? 请原谅我以业余方式提问,但我正在尝试了解 javascript 缩小的工作原理。

【问题讨论】:

  • 一个体面的缩小器不会缩短在其他地方使用的公共属性。你用的是哪一个?
  • 您使用哪个工具进行缩小?有些工具会压缩接口,有些则不会。例如,YUI Compressor 不会更改全局变量的名称及其内容 - 只有函数参数和局部变量名称会被缩小。您可以放心使用。

标签: javascript angularjs minify


【解决方案1】:

发件人:http://en.wikipedia.org/wiki/Minification_(programming)

在计算机编程语言,尤其是 JavaScript 中,缩小(也称为最小化或最小化)是在不改变其功能的情况下从源代码中删除所有不必要字符的过程。

所以,如果压缩器能够检测到它可以安全地将$scope.obj.subObj 重写为a.b.c,它就会这样做。

不过,根据经验,来自全局范围的任何变量,例如 document、window 或 jQuery 都不会被缩小,因为其他代码(在此文件范围之外)可能依赖于它。

缩小的下一步是使用压缩器,例如 Google Closure Compiler 或 Yahoo 的 YUI Compressor。这些程序通常是更强大的缩小器。例如,它们可以用内联函数替换函数调用,或者用更短或更快的方法更改某个方法。这需要大量关于 JavaScript 和性能优化的知识。

您可以通过降低某些兼容性要求来提高压缩率,但我发现生成的代码非常不稳定,所以我认为我们还没有达到 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 2020-05-31
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多