Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript缩小和压缩_Javascript_Minify_Http Compression - Fatal编程技术网

JavaScript缩小和压缩

JavaScript缩小和压缩,javascript,minify,http-compression,Javascript,Minify,Http Compression,我试图了解JavaScript的缩小和压缩过程,并对这些过程提出了几个问题: 由于缩小使代码难以调试,是否可以在客户端进行按需缩小,以掩盖您实际需要在网站上进行调试和调查的情况 我记得在某个地方读到,通过在ApacheWeb服务器中设置一些选项,可以对所有资源(如图像、CSS、JavaScript等)进行压缩。在Apache级别完成的JavaScript压缩与使用YUI Compressor等工具完成的JavaScript压缩有什么区别吗 有人能帮我了解一下上述情况吗 在这种情况下,我实际上需要

我试图了解JavaScript的缩小和压缩过程,并对这些过程提出了几个问题:

  • 由于缩小使代码难以调试,是否可以在客户端进行按需缩小,以掩盖您实际需要在网站上进行调试和调查的情况
  • 我记得在某个地方读到,通过在ApacheWeb服务器中设置一些选项,可以对所有资源(如图像、CSS、JavaScript等)进行压缩。在Apache级别完成的JavaScript压缩与使用YUI Compressor等工具完成的JavaScript压缩有什么区别吗 有人能帮我了解一下上述情况吗


    在这种情况下,我实际上需要去缩小我的JavaScript文件,比如说在第X行发生了一个JavaScript错误。对于缩小的文件,很难知道是哪个代码块导致了生产中的错误,因为这些行都被包装在一个缩小的文件中。在这种情况下,你们如何进行调查和调试?另一位用户在问题中也提到了这个调试问题(不过有点特定于IE6)。

    通常开发人员会根据未压缩的脚本文件进行开发,在部署之前压缩

    如果必须返回并调试脚本文件,只需打开常规的未压缩文件,完成工作、压缩和部署。如果您的意思是在您的网站处于生产状态时调试某些内容,则不可以,您不能按需取消缩小脚本文件


    是的,Apache甚至IIS都可以自动为您压缩脚本和图像。

    您不应该调试缩小的代码。理想情况下,开发过程如下所示:

  • 您可以在本地构建和调试站点。您拥有完整版本的Java脚本、样式表和所有内容

  • 将一个版本部署到生产计算机。您可以缩小并gzip资产的副本,并将其推送到服务器。您的本地开发副本保持不变

  • 如果在生产过程中出现错误,您可以修改本地版本、缩小、压缩和上载

  • 重复,直到利润

  • 我更喜欢使用JS文件的本地未统一副本,当我部署站点时,我会将所有JS文件缩小为一个。这样就很容易调试和改进代码。但是,有一些工具可以恢复缩小。请看一下JavaScript的还原缩小
  • 看一看GZIP压缩-描述如何在Apache中启用GZIP,以及如何验证您的服务器实际上正在压缩文件
  • 是否可以在客户端进行按需缩小

    一些浏览器有一个自动格式化源代码的“漂亮代码”视图。请参阅Firebug的CSS选项卡

    在Apache级别完成的javascript压缩与使用YUI Compressor等工具完成的javascript压缩有什么区别吗

    YIU压缩机实际上是一个小型压缩机。Apache压缩类似于在将文件发送到客户机之前压缩文件,因此实际发送的文件比磁盘上的文件小。它们是两种相互独立的不同技术

    由于缩小使代码难以调试,是否可能 在客户端进行按需缩小,以掩盖案件 您实际上需要调试和调查 网站

    有点。缩小的javascript具有相同的结构,它只做删除额外空格和缩短变量名之类的事情。因此,您可以手动或使用脚本轻松地使代码再次可读,但无法恢复变量名,因此代码将更难使用。所以,如果你有原始代码,绝对不要丢弃它。单独保存缩小的代码

    我记得在某个地方读过一篇文章,说一个人可以压缩所有的数据 通过设置一些选项来获取资源(如图像、css、javascript等) 在ApacheWeb服务器中

    是的,它叫做gzip压缩。它不是apache独有的,但您需要配置服务器以启用它

    Apache上的javascript压缩有什么不同吗 使用YUI Compressor等工具完成的级别和级别


    对。YUI压缩器是一个缩微器-输出是有效的javascript。服务器端压缩更类似于压缩文件-浏览器必须先对其进行解码才能使用。将两者结合使用将产生最小的文件大小。

    如果您想调试生产代码,Chrome开发工具可以消除javascript代码的模糊(并缩小)代码(在尝试在动态环境中复制错误时很有用,您可能在开发中看不到)


    我喜欢现代人处理资产的方式。它会对它们进行gzip和时间戳。不再在生产中消耗CPU。在另一种生活中,我想我是一个RoR开发人员……在这一生活中,它是MVC,基本上是Rails和C#……可能更糟……)@Adam在“OriginalSyn”中找到了一个答案,似乎Chrome可以帮助您部分缩小javascriptfiles@peakit-看起来Chrome正在重新格式化代码,因此看起来更好-我不认为它正在恢复变量和函数的原始名称,这就是你真正需要用它做的任何有用的事情。是的@Adam我理解,这就是为什么我在之前的评论中说它是通过Chrome进行的部分缩小。@Sergei Tulentsev,我在上面问题的编辑部分给出了关于调试的更多细节。请你看一下,并给我一些关于如何做这件事的意见好吗?谢谢。我将执行以下操作之一:1)在某个地方复制生产环境,并尝试用完整的Java脚本重现问题。2) 将完整的Java脚本复制到生产环境中,并在登录时呈现它们(并继续对所有其他脚本使用缩小版)。您回答了我的所有问题,因此