vue-cli打包后怎么让静态资源路径指向gz后缀的文件?

启用了compression-webpack-plugin,确实能在dist包中看到xxx.gz后缀的文件,但是index.html中请求js和css的url还是如下,是没有gz后缀的:
vue-cli打包后怎么让静态资源路径指向gz后缀的文件?
所以现在我还需要在服务端配置 URL Rewrite,把请求.js/.css后缀的请求变成.js.gz/.css.gz这样才能真正的请求到gzip文件(我们服务器用的IIS)
当然IIS可以直接通过“压缩”功能开启gzip压缩,但是那好像是服务端压缩,我现在就是想要打包后直接生成gz文件然后服务端啥都不需要干,不会浪费cpu或者内存,直接把gz文件返回给浏览器就行了~
webpack这块还不算太熟,有大佬能告知一下吗?


回答:

你的思路是不对的,GZip 是一种 Encoding 方式,它是在 HTTP 协议里规定的,对于文件下载而言是黑盒的,如果你直接让 script/link 去加载它反倒错了。

正确的做法就是勾选 IIS 的静态文件内容压缩。

我之前回答过类似的问题:https://segmentfault.com/q/10...

主要问题是 IIS 不像 Nginx/Apache 那样天然支持 GZip 预读功能,所以才会出现提前打包好的 .gz 文件没用的情况。但正如原答案中我所提到的那样,你可以自己编写 web.config 来实现类似的功能。

具体做法可以看这个 SO 上的回答:

https://stackoverflow.com/que...

还有个中文翻译版本的:

https://roriri.one/2019/09/22...

以上是 vue-cli打包后怎么让静态资源路径指向gz后缀的文件? 的全部内容, 来源链接: utcz.com/p/936917.html

回到顶部