I'm trying to follow this in order to serve some static compressed files.
I'm using webpack compression plugin to generate the gzip files.
new CompressionPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: /\.(js|css)$/,
deleteOriginalAssets: true
})
On my server I have this middleware.
app.get('*.js', function (req, res, next) {
req.url = req.url + '.gz';
res.set('Content-Encoding', 'gzip');
next();
});
When I'm running the app, in browser I'm getting GET net::ERR_CONTENT_DECODING_FAILED
Probably, I still have to do something more but no idea what exactly.
Thank you, Ionut
1 Answer
Looks like you're missing the content type. Use this code in your express server:
app.get('*.js', function(req, res, next) {
req.url = req.url + '.gz';
res.set('Content-Encoding', 'gzip');
res.set('Content-Type', 'text/javascript');
next();
});
app.get('*.css', function(req, res, next) {
req.url = req.url + '.gz';
res.set('Content-Encoding', 'gzip');
res.set('Content-Type', 'text/css');
next();
});