为什么YUI Compressor不能使用这些函数名?

时间:2012-08-21 12:13:57

标签: yui-compressor minify

这是输入:

function local2functionA()
{
    local2functionB('hello');
}

function local2functionB(text)
{
    alert(text);
}

这是输出:

function local2functionA(){local2functionB("hello")}function local2functionB(a){alert(a)};

任何没有使用函数名称的想法?

http://www.shrinker.ch/

的结果相同

1 个答案:

答案 0 :(得分:2)

我认为这是因为这些功能在顶级声明,因此“外部”可见,所以你不能只改变他们的名字。

如果将local2functionB的定义放在local2functionA中,它会很好地缩小:

function local2functionA()
{
    function local2functionB(text)
    {
      alert(text);
    }

    local2functionB('hello');
}

// becomes 

function local2functionA(){alert("hello")};

请注意,剩余的顶级函数也不会被重命名(而“私有”函数完全被内联)。