compression模块 压缩静态文件。

本文介绍如何使用compression包在Node.js项目中实现Gzip压缩功能,通过具体实例展示了压缩前后文件大小的变化,有效减少了网络传输的数据量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,在项目根目录下运行npm,安装Gzip所需要用到的包"compression"。

运行cmd,在E:\ProjectOne目录下,执行以下命令。

[plain]  view plain  copy
  1. npm i compression@1.6.1 --save  

该命令的作用是,在当前目录下安装compression包,指定版本为1.6.1,并且将版本保存到package.json文件中。


待安装包安装完之后,我们再在app.js文件里,增加这两句代码。(请确保这个包在所有中间件之前加载。)

[javascript]  view plain  copy
  1. var compression = require('compression');  
  2. app.use(compression());  

这样,我们的服务器就已经成功启动Gzip压缩功能了。

测试:

简单测试对比一下,

在页面中加载jquery-1.11.3.min.js和zepto.min.js,这两个js文件。

然后用chrome的控制台,观察一下文件加载的情况。

未启用Gzip前,网络加载大小为93.7kb和23.4kb。

在启用Gzip之后,两个文件分别大小为32.9kb和8.8kb。

结论:

压缩率超过了60% !!!!!

尝试在一个html中,写了3万个<h1>标签,,内容是一样的。都是<h1>hello world!</h1>这样。

原html高达812kb。在启用了Gzip之后,网页传输只用了惊人的2.9kb。

虽然是没营养的测试数据,但是还是无比高效的降低了网络传输文件大小。

有效的加速了网页内容的加载。

Spring Boot 提供了一些内置的机制来方便地压缩静态资源,这有助于减少网络传输的带宽消耗,加快页面加载速度。以下是使用Spring Boot进行静态资源压缩的一般步骤: 1. **启用GZip支持**:Spring Boot 默认开启对HTTP请求的GZIP压缩,如果你还没有设置过,可以在`application.properties`或`application.yml`文件中添加以下内容: ```properties spring.http.multipart.enabled=true spring.http.multipart.max-file-size=10MB server.compression.enabled=true ``` 2. **配置资源处理器**:Spring Boot 自带了`org.springframework.boot.actuate.autoconfigure.web.server.ManagementWebSecurityAutoConfiguration`,它包含了对管理界面的支持,这可能导致静态资源被解压。为避免这种情况,你需要禁用默认的管理界面,或者自定义资源处理器来限制资源压缩。 3. **第三方库**:虽然Spring Boot本身提供了GZip压缩,但还可以使用其他库增强这一功能,比如`spring-boot-starter-web`模块下的`spring-boot-starter-tomcat`,它自带了一个Tomcat服务器,可以配合第三方插件如`compressing-proxy-servlet-filter`来进一步压缩。 4. **部署配置**:在生产环境部署时,确认应用容器(如Jenkins、Docker等)的配置已正确设置GZip支持,比如Apache Tomcat、Jetty或Nginx等。 通过上述设置,Spring Boot 应该能够自动压缩静态资源。如果你发现某些资源未被压缩,可能需要检查对应的路径是否正确,以及过滤规则是否生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值