Ich versuche, Gzip-Komprimierung für meine Assets in einer Sails.js (Node) -Anwendung zu aktivieren. Beim Start der App in der Produktionsumgebung werden alle Assets in assets/linker/js
und assets/linker/styles
verkettet, minimiert, erfolgreich egglifiziert (wie in der Gruntdatei angegeben). Die folgenden Ausgabedateien generiert:Wie Gzip JavaScript und CSS-Assets in Sails.js gzip?
.tmp/
public/
min/
production.js
production.css
Ich möchte gzip-Komprimierung als auch hinzufügen, ich habe deshalb Grunzen-contrib-Kompresse installiert und hinzugefügt, um die Kompresse Aufgabe der Gruntfile. Ich kann die folgenden Ergebnisse mit erfolgreich gezippten Dateien erhalten.
.tmp/
public/
min/
production.js
production.js.gz
production.css
production.css.gz
Mein Problem ist jetzt, dass der Server mit den gzip-Dateien zu reagieren muss (wenn der Client übernimmt die Codierung) anstelle von den normalen und ich kann nicht einen Weg, dies zu tun finden. Vielleicht sind Politik die Segel, um so etwas zu tun? Oder gibt es eine andere Möglichkeit, Express-Middleware zu verwenden?
Wenn es hilft, ist dies die aktuelle Segel-Linker Aufgabe, die die JavaScript-production.js-Datei in das Markup eingefügt:
...
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']
}
},
...
Vielen Dank im Voraus.
Wow, das ist cool, ich habe mir das GitHub-Problem bereits angeschaut, aber ich konnte mir nicht vorstellen, dass nur das Hinzufügen der Datei den Job erledigen würde. :) Jetzt habe ich es hinzugefügt und es funktioniert wie Magie! –
Sailsjs ist Magie :) –