您会发现开发人员本身并未使用简短的变量名。在开发过程中,它们正在使用有意义且详细的变量名。
然后,在构建/发布过程中,他们编写的代码通过压缩程序/ 混淆器运行,目的是使文件大小最小,这是加速网站的最佳实践。如果您非常关心性能,那么这是一个可选步骤。大多数小型网站都不这样做。
作为开发人员,您不应该关心缩小/混淆过程;编写代码,使代码可读,有意义,文档完善且结构合理。然后,如果您非常在意性能(可选,请不要忘记!),请在发布过程中引入压缩器/混淆器,以最小化代码(删除空格,换行,注释等)并对代码进行混淆(例如,缩短变量)名称)。在这里可以找到一篇很好的文章,说明混淆与缩小。
此外,Desktop FireFox 不会截断变量名称period。变量名的截断可以加快页面下载速度。到FireFox拿到文件时,它已经被下载了,因此不需要这样做。您的朋友可能正在运行执行此操作的插件;在这种情况下,请告诉他卸载它,因为它没有用。
为了完成此操作,某些(移动)浏览器可以选择使用中间人服务器,这些服务器会拦截您请求的资源的响应,并为您压缩它们(可能包括压缩JavaScript文件)。请注意,压缩是在服务器上完成的(即,在下载页面之前),因此潜在的好处是下载较小的文件,而不是一旦下载完文件后再在浏览器中下载(如问题中所建议的)。此类移动浏览器包括Opera Mini和较新版本的Google Chrome(至少在iOS上;不确定Android)。有关更多信息,请参见此处。
eval
,它是不安全的(是的,eval
太可怕了,但这是标准的一部分,您不会为了优化而放弃标准的合规性),并且丝毫没有减少流量的可能性-您仍然发送完整的文件。