Jak gzipować zasoby JavaScript i CSS w Sails.js?
Próbuję włączyć kompresję gzip dla moich zasobów w aplikacji Sails.js (Node). Podczas uruchamiania aplikacji w środowisku produkcyjnym wszystkie zasoby wassets/linker/js
iassets/linker/styles
są połączone, zminimalizowane, udaremnione (jak określono w pliku Gruntfile). Generowane są następujące pliki wyjściowe:
.tmp/
public/
min/
production.js
production.css
Chciałbym również dodać kompresję gzip, dlatego zainstalowałem kompres grunt-contrib i dodałem zadanie kompresowania do pliku Gruntfile. Mogę uzyskać następujące wyniki z pomyślnie spakowanymi plikami.
.tmp/
public/
min/
production.js
production.js.gz
production.css
production.css.gz
Moim problemem jest teraz to, że serwer musiodpowiedz plikami gzip (gdy klient akceptuje kodowanie) zamiast normalnych i nie mogę znaleźć sposobu, aby to zrobić. Może polityka jest sposobem na żagle, aby zrobić coś takiego? Czy istnieje inny sposób korzystania z ekspresowego oprogramowania pośredniego?
Jeśli to pomoże, jest to bieżące zadanie sails-linker, które wstawia plik javascript production.js do znacznika:
...
prodJs: {
options: {
startTag: '<!--SCRIPTS-->',
endTag: '<!--SCRIPTS END-->',
fileTmpl: '<script src="%s"></script>',
appRoot: '.tmp/public'
},
files: {
'.tmp/public/**/*.html': ['.tmp/public/min/production.js'],
'views/**/*.html': ['.tmp/public/min/production.js'],
'views/**/*.ejs': ['.tmp/public/min/production.js']
}
},
...
Z góry bardzo dziękuję.