Wie kann man JavaScript- und CSS-Assets in Sails.js gzipen?

Ich versuche, die gzip-Komprimierung für meine Assets in einer Sails.js (Node) -Anwendung zu aktivieren. Beim Starten der App in der Produktionsumgebung werden alle Assets inassets/linker/js undassets/linker/styles erfolgreich verkettet, verkleinert, unscharf gemacht (wie im Gruntfile angegeben). Die folgenden Ausgabedateien werden generiert:

.tmp/
  public/
    min/
      production.js
      production.css

Ich möchte auch die gzip-Komprimierung hinzufügen, deshalb habe ich grunt-contrib-compress installiert und die Komprimierungsaufgabe zur Grunt-Datei hinzugefügt. Ich kann mit erfolgreich gzipten Dateien die folgenden Ergebnisse erzielen.

.tmp/
  public/
    min/
      production.js
      production.js.gz
      production.css
      production.css.gz

Mein Problem ist jetzt, dass der Server mussantworten Sie mit den gzip-Dateien (wenn der Client die Codierung akzeptiert) anstelle der normalen und ich kann keinen Weg finden, dies zu tun. Vielleicht sind Richtlinien der richtige Weg, 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 einfü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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage