【问题标题】:Gzipping a js files creates an archive instead of attaching gz extension on the file output压缩 js 文件会创建一个存档,而不是在文件输出上附加 gz 扩展名
【发布时间】:2015-10-07 07:17:41
【问题描述】:

当我 gzip 一个 javascript 文件时,输出变成一个 gz 类型的存档文件夹,而存档文件夹内有原始的 js 文件。我的要求不是创建存档,而是创建没有存档文件夹的 javascript 文件的 gzip 版本。我想gzip js文件,让浏览器解码。

已经尝试过这些命令:

1) gzip -c 文件名.js > 文件名.js.gz

2) gzip 文件名.js

无论以何种方式创建档案。

【问题讨论】:

  • gz 文件不是“文件夹”。 gz 文件只能包含一个已编码的文件。没有其他方法可以做你正在做的事情。如果你在解压的时候得到一个文件夹,那是你的解压软件做错了。
  • 我没有解压或解压,它是关于 gzip 压缩单个 js 文件,同时通过命令行创建一个带有 gz 扩展名的存档文件夹,而不是带有 gz 扩展名的文件
  • 再次重申:gz 文件不是文件夹。您的操作系统或取消归档实用程序可以将其作为文件夹呈现给您,但它只是一个文件。更具体地说,即使像zip 这样的真正的多文件档案也只是一个文件,但可以作为一个文件夹呈现。尽管它们看起来像一个文件夹,但它们不是文件夹,除非您实际上将它们提取到一个文件夹中。
  • 尽管 gzip 文件可能有一个类似文件夹的图标,但它始终是一个存档文件。我认为您认为 gzip(只是在这里假设)是某种缩小器或其他东西,但它所做的只是创建一个包含存档文件的存档。一些服务器使用输出压缩将其响应作为 gzip 发送到浏览器以节省带宽,但它们所做的只是制作一个 gzip 存档,然后客户端将解压缩。
  • 感谢@Amadan 提供的有用信息

标签: javascript gzip


【解决方案1】:

嗯,找到了大多数时候都有效的答案。我在我的 tomcat 配置中启用了 gzip 压缩,如下所示,就我而言,我只需要缩小/混淆文件,gzipping 编码/解码将由服务器和客户端完成。

在Tomcat7/conf/server.xml中

<Connector port="8080" maxHttpHeaderSize="8192"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true"
    compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml"/>

有关此处使用的所有参数的完整文档,请参阅tomcat7-config-docs

【讨论】:

    猜你喜欢
    • 2019-02-25
    • 2014-11-15
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多