J'utilise webpack-compression-plugin pour compresser tous mes fichiers statiques et fichiers hml avant le format gzip et brotli. Si le navigateur le supporte, j'utilise brotli, sinon gzip et la dernière option est le fichier original. Donc, je voudrais avoir quelque chose comme ça par exemple après le regroupement. Sur le serveur, j'utilise express-static-gzip pour servir les fichiers statiques et tout fonctionne correctement. Tous les actifs statiques de mes clients sont compressés et servis comme ça.Servir la page gzip html dans le noeud
import expressStaticGzip from 'express-static-gzip'
const app: Express = new Express()
process.env.PWD = process.cwd()
app.set('view engine', 'ejs')
app.set('views', path.join(process.env.PWD + '/src/server/views'))
app.use(expressStaticGzip(path.join(process.env.PWD + '/src/dist'), {indexFromEmptyFile: false, enableBrotli: true, maxAge: '1y'}))
app.use((req, res, next) => {
res.set('Cache-Control', 'no-cache')
return next()
})
/* Use server side rendering for first load */
app.use(appRenderer)
// Routes
app.get('*', (req, res) => {
res.render('index')
})
app.listen(PORT,() => {
console.log(`
Express server is up on port ${PORT}
Production environment
`)
})
Le problème que j'ai est avec mon fichier html, root. Bien que j'en ai aussi la version gzip et br, elle n'est pas servie comme ça. Je le fais en regroupant le code côté serveur. Le module de compression Express ne fonctionne pas et je veux également une compression statique. Je n'utilise pas nginx.
Avez-vous trouvé la solution? Sinon, j'utilise https://stackoverflow.com/a/15323082/3241111 Cela fonctionne pour moi. Je ne sais pas, comment l'utiliser pour .html juste et pas pour '.js' et' .css' bcoz je ne veux pas que le serveur compresse 'js' et' css' pour SSR sur chaque demande – myDoggyWritesCode
Je didn ' Je trouve une solution facile mais j'en ai trouvé un. J'ai utilisé Nginx. Avec Nginx, je peux utiliser le module gzip_static pour servir des fichiers statiques précompressés et le mode dynamique gzip normal qui compresse juste le fichier html à la volée. –
C'est gentil. Est-ce que vous compressez des images aussi? – myDoggyWritesCode