Combres js URL对于Chrome开发者工具来说太长

Combres js URL对于Chrome开发者工具来说太长,url,google-chrome-devtools,combres,Url,Google Chrome Devtools,Combres,由于我的本地开发站点上js资源的url长度,试图找到我正在寻找的脚本真的很烦人 我用的是combres 2.2.2.4。下面是我的相关combres.xml部分: <jsMinifiers> <minifier name="msajax" type="Combres.Minifiers.MSAjaxJSMinifier, Combres" binderType="Combres.Binders.SimpleObjectBinder, Combres">

由于我的本地开发站点上js资源的url长度,试图找到我正在寻找的脚本真的很烦人

我用的是combres 2.2.2.4。下面是我的相关combres.xml部分:

<jsMinifiers>
    <minifier name="msajax" type="Combres.Minifiers.MSAjaxJSMinifier, Combres"
    binderType="Combres.Binders.SimpleObjectBinder, Combres">
      <param name="CollapseToLiteral" type="bool" value="true" />
      <param name="EvalsAreSafe" type="bool" value="true" />
      <param name="MacSafariQuirks" type="bool" value="true" />
      <param name="CatchAsLocal" type="bool" value="true" />
      <param name="LocalRenaming" type="string" value="KeepAll" />
      <param name="OutputMode" type="string" value="SingleLine" />
      <param name="RemoveUnneededCode" type="bool" value="true" />
      <param name="StripDebugStatements" type="bool" value="true" />
    </minifier>
    <minifier name="yui" type="Combres.Minifiers.YuiJSMinifier, Combres">
      <param name="IsVerboseLogging" type="bool" value="false" />
      <param name="IsObfuscateJavascript" type="bool" value="true" />
      <param name="PreserveAllSemicolons" type="bool" value="false" />
      <param name="DisableOptimizations" type="bool" value="false" />
      <param name="LineBreakPosition" type="int" value="80" />
    </minifier>
  </jsMinifiers>

  <resourceSets url="~/combres.axd" defaultDuration="30"
                                    defaultVersion="auto" 
                                    defaultIgnorePipelineWhenDebug="true" 
                                    defaultDebugEnabled="true"
                                    defaultJSMinifierRef="msajax" 
                                    defaultCssMinifierRef="yui" 
                                    defaultCompressionEnabled="true" >

有什么想法吗

更新:

  • 我仍然不确定那些散列数字是从哪里来的。我已经抖动了资源的defaultVersion、defaultVersionGenerator和version标记,但我似乎看不到任何变化

  • 我刚刚关闭了调试,我注意到在chrome中,它显示

    /剧本 /一,

  • 这表明当调试关闭时,defaultVersion的工作方式与文档中的一样,但是当调试打开时,巨大的哈希值又回来了。我正在调查它是否是Combres(我们最近更新)的版本

  • 回到2.1.0.0,我发现了同样的行为。事实上,这里可能不是Combres,尽管看起来应该是这样。我会继续打猎

  • 看起来Combres配置为使用
    Sha512VersionGenerator
    (它不会显示在您的配置段中,所以我想这是在其他段中设置的)。尝试将
    resourceSet
    versionGenerator
    (或
    resourceSet
    defaultVersionGenerator
    )设置为:

    • Combres.VersionGenerators.HashCodeVersionGenerator
    • 删除
      versionGenerator
      属性并手动设置其版本

      • 由Buu Nguyen提出:


        在调试模式下,无法通过Combres配置“关闭”哈希生成。但是,可以修改GetResourceUrl以从Url中删除哈希。

        谢谢您的建议。不过,它们似乎没有效果。我可能做错了什么?对不起,我误读了你的问题,没有注意到你实际上想在调试模式下运行。在调试模式下,Combres将内容哈希附加到每个资源,以便每个请求都将获得最新版本。我不认为有一个选项可以关闭它,你可以修改WebExtensions.cs的GetResourceUrl来删除散列附加。嗯,这不是我希望的答案,但我会继续沿着这条路走下去。谢谢仅供参考,Chrome已经自我更新,因此它显示URL的开头而不是结尾,所以这不再是一个问题。此外,我设法让Combres稍微更改了实现。它现在将只使用32个字符的哈希,而不是巨大的SHA512。哈,太棒了!我从没想过这篇文章能走这么远。谢谢你在无限循环中的颠簸!