缩小如何处理 $scope.obj.subObj = { key: val ...};
从我所理解的最后使用变量保持不变,
但如果我有html元素
<div>{{obj.subObj.key}}</div>
minify的结果会将代码缩短为a.b.c.key吗? 请原谅我以业余时尚的方式询问,但我正在努力了解javascript缩小的工作原理。
缩小如何处理 $scope.obj.subObj = { key: val ...};
从我所理解的最后使用变量保持不变,
但如果我有html元素
<div>{{obj.subObj.key}}</div>
minify的结果会将代码缩短为a.b.c.key吗? 请原谅我以业余时尚的方式询问,但我正在努力了解javascript缩小的工作原理。
从: http://en.wikipedia.org/wiki/Minification_(programming)
计算机编程语言(尤其是JavaScript)中的缩小(也是最小化或最小化)是从源代码中移除所有不必要的字符而不改变其功能的过程。
因此,如果minifier能够检测到它可以安全地重写 $scope.obj.subObj
至 a.b.c
它会。
但是,作为一个经验法则,任何来自全局范围的变量,如 document
, window
要么 jQuery
不会缩小,因为其他代码(在此文件范围之外)可能依赖于它。
缩小的下一步是使用a 压缩机 比如Google Closure Compiler或Yahoo的YUI Compressor。这些程序通常是更强大的缩放器。例如,它们可以通过内联函数替换函数调用,或者通过更短或更快的方法更改某个方法。这需要大量关于JavaScript和性能优化的知识。
您可以通过降低某些兼容性要求来提高压缩率,但我发现生成的代码非常不稳定,所以我认为我们还没有相应的:)