【问题标题】:Why do we need to use uncompressed files for development?为什么我们需要使用未压缩的文件进行开发?
【发布时间】:2018-10-12 10:49:47
【问题描述】:

我一直想知道为什么我们需要未压缩的文件用于开发并缩小用于生产?我的意思是使用未压缩文件比缩小文件有什么好处?

它们是否会给您更好的错误消息,或者只是如果我们想查找某些内容,我们可以查看未压缩文件的代码?

对你们中的一些人来说可能是个愚蠢的问题,但我从来没有浏览知名大型库的代码的习惯,如果我没记错的话,很少有人这样做。

【问题讨论】:

  • 你说的是压缩还是缩小?
  • 是的,它们会为您提供更好的错误消息和调试。 (您可以使用源映射在缩小代码的范围内获得这些好处。)它们的修改速度也更快,因为缩小步骤需要时间。如果您没有其他构建步骤,则可以完全跳过构建。
  • @Ry 感谢您的回答,它澄清了我的问题。

标签: javascript development-environment production


【解决方案1】:

在开发过程中可能有多种原因可能会导致人们更喜欢未压缩的 [unminified] 文件。我能想到的一些原因:

  1. 通过跳过缩小步骤,减少编码时查看更改的时间。 (如果您在开发过程中使用缩小作为构建步骤的一部分,则每次进行更改时可能必须等待缩小完成才能在浏览器中看到它。)

  2. 如果正在使用代码管理器,变量可能会被重命名,并且它们在代码库中实际调用的内容并不直观

  3. 1234563 /li>
  4. 它使调试变得更容易、可读和直观。

  5. 缩小和代码修改主要是为了使这些资产从服务器到最终用户(客户端)的交付更加高效。这确保了客户端可以快速下载脚本,并且还降低了网站/企业将该脚本交付给用户的成本。因此,在开发过程中运行代码时,这可以被认为是一个额外的不必要的步骤。 (资产已经在本地可用,因此额外的有效负载成本可以忽略不计)

TLDR:缩小和代码修改可能是一个耗时的过程(尤其是当我们生成地图文件等时),这可能会延迟更改之间的时间以及这些更改在本地实例上可见的时间。它实际上还可以通过使调试变得更难/更不直观来阻碍开发

【讨论】:

    【解决方案2】:

    这样做的主要原因是可用性。当一个 js 文件被缩小并且您遇到错误并试图找到它所在的位置时,您会找到什么?只是一个像

    这样的缩小字符串

    (function(_){var window=this,document=this.document;var ba,ea,fa,ha,la,na,oa,pa,qa,sa,ra,ta,wa,xa,za,Aa,Da,Ea,Fa,Ga,Ia;ba=function(a){return function(){return _.aa[a].apply(this,arguments)}};ea=function(a){return ca(_.p.top,a)||ca(da(),a)};_.aa=[];fa="function"==typeof Object.create?Object.create:function(a){var b=function(){};...

    等等。它对你来说可读吗?我不这么认为。根本不可读。

    为了更好地理解代码,您需要解压缩它。它将添加一些额外的空格并以更易读的方式格式化代码。所以它看起来像:

    (function(){
      var b = j(),
          c = k (b);
    })();

    它允许您从一段代码移动到另一段代码并发现代码或搜索其中的错误。

    此外,对于生产,您不仅需要缩小代码,还需要对其进行压缩。因此,最好使用Uglify 库。 它删除了不必要的空格,将变量、对象和函数重命名为更小的名称,例如 ab12。它提高了下载速度。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      相关资源
      最近更新 更多