[eggjs/egg][Feature Request] 开启gzip之后是否优先使用已存在的.gz文件

2024-08-05 974 views
7

例如,将一个2M的js文件(A.js),压缩成500k的A.js.gz文件,将这两个文件放于app/public目录下

将config.static.gzip设置为true,gzip成功开启,但是请求A.js文件的时间反而变长了

A.js.gz删除,发现在开启gzip的情况下,A.js.gz文件是否存在都不影响请求时间

因此我怀疑开启gzip之后,egg每次都会去压缩请求的文件,而没有使用已有的gzip文件,所以会存在请求时间会比不开gzip还长的情况,而且也不利于服务器性能,希望可以改进

Proposal

希望开启gzip之后可以优先使用已有的.gz文件,而不是总是去压缩

Additional context

Add any other context or screenshots about the feature request here.

回答

2

肯定不会用已有的文件。视为 2 个路径来着。

不用怀疑,egg-static 底层是 https://github.com/koajs/static-cache 可以看下源码

一般静态资源是不会放到服务器的,都是丢 CDN

0

那这个config.static.gzip的设置没啥意义啊o(╥﹏╥)o

8

egg-static 就是简单使用场景下的使用,以及本地开发时辅助。

如果真的在乎请求性能的话,你那点 gzip 没啥用,唯一的标准方案就是 CDN。

都 2020 了,非覆盖式静态资源发布 CDN 应该是前端标配方案了吧。

1

身在小厂,啥都没没有,还是去大厂比较有发展前途

9

还有个参数叫 usePrecompiledGzip,这个设置为 true 可以从本地磁盘读取预编译好的 gz 文件

4

太赞了?

5

@hyj1991 居然还有这个

7

因为我给内部系统在用。。。写出来的单页打包后有点大,内部系统也没必要上 cdn

8

之前查资料都是用nignx配置的,nignx是可以直接读取gz的,但是这个内部项目,没啥必要上nginx,所以想着看看egg有没有类似的设置