Zer*_*Cho 6 compression encoding gzip express webpack
我真的很想知道webpack gzip和express gzip之间的区别
我通过使用压缩包只使用了快速gzip .像这样,
app.use(compression());
Run Code Online (Sandbox Code Playgroud)
但是seo分析器说我可以更多地压缩javascript文件,虽然我可以在我的主页的 chrome devtools控制台看到Content-Encoding:gzip.所以我开始搜索压缩文件的方法,我找到了压缩webpack-plugin包来制作gzip文件.我已经使用了webpack,但没有使用compression-webpack-plugin.我正在考虑添加此插件,如果它有助于更多地压缩我的文件.
问题是
Lee*_*son 10
不同之处在于,Webpack压缩会在构建运行期间一次压缩文件.然后将这些压缩版本保存到磁盘.
另一方面,Express插件将在请求时压缩您的文件.某些软件包可能内置了缓存,因此性能损失只发生一次(或不经常),但通常不同之处在于,这将在响应HTTP请求时发生.
对于实时压缩,让上游代理(例如Nginx)处理gzip和缓存通常更高效,因为它们是专门为此而构建的,并且不会遭受Node运行时的开销(许多都是用C语言编写的) ).
另一种解决方案是让Webpack压缩您的文件并创建.gz未压缩文件的版本.像express-static-gzip这样的软件包可以为这些预编译版本提供服务,因此您不会在请求时获取gzipping的性能.如果Node.js直接响应您的HTTP请求并且您没有使用上游代理/负载均衡器,这将非常有用.
使用Webpack的好处是,您可以使用最大压缩设置(或者需要更长时间来处理文件的算法),因为您可能不需要在构建过程中花费额外的几秒钟,但同时又需要服务于服务通过启用更复杂的压缩来实现HTTP访问者将是一个更大的问题.