2013-08-24 6 views
7

Ich habe keinen Zugriff auf Java oder Knoten auf meinem freigegebenen Host. Gibt es eine Möglichkeit, Server-Seite zu minimieren, so dass ich weiter Assetic verwenden kann, ohne diese Motoren? Uglify verwendet Knoten und yui-compressor (sowieso veraltet) verwendet Java.Symfony2 minify ohne Java oder Knoten

Danke!

Antwort

16

Es scheint zwei Filter-Code nur mit PHP zu sein:

Sie müssen die minify PHP-Bibliothek durch Komponisten installieren, und verwenden Sie dann die cssmin und jsminplus astische Filter.

+0

will ich, dass ein Schuss dankbar! Ich weiß nicht, warum ich diese Information auf Google nicht finden konnte :-( – Brandon

1

Ich weiß, dass dies ein altes Thema ist, aber ich möchte @ AdrianBrault eine kleine Korrektur für jeden hinzufügen, der darauf stolpert.

Bei der Installation der genannten Minify-Bibliothek müssen Sie den minifycsscompressor-Filter verwenden, der die Klasse MinifyCssCompressorFilter verwendet. Die cssmin verwendet eine andere Minifikationsbibliothek.

+0

Danke, cssminify hat nicht funktioniert, aber minifycsscompressor hat es getan. – userlond

3

nur für die Schritte klären:

  1. composer require mrclay/minify
  2. In symfony app/config/config.yml zu assetic Config hinzu:

    # some stuff assetic: filters: # possible another filters minifycsscompressor: ~ jsminplus: ~

    1. In Zweig:

    {% stylesheets <your assets> filter='minifycsscompressor' %} <link rel="stylesheet" href="{{ asset_url }}"> {% endstylesheets %}

    {% javascripts <your assets> filter='jsminplus' %} <script src="{{ asset_url }}"></script> {% endjavascripts %}

+0

Ich habe das versucht und wenn ich einen Assite Dump mache, bekomme ich folgendes: ' Versucht, die Klasse "JSMinPlus" aus dem globalen Namespace zu laden. Haben Sie eine "use" -Anweisung vergessen? 'Minify wird über den Composer installiert (ich kann den Code im Herstellerverzeichnis sehen), müssen wir ihn in Symfony registrieren AppKernel.php (normalerweise verwenden Sie neu, um ein Bundle hinzuzufügen) oder so ähnlich – MicWit

+0

nachdem ich selbst in dieses Problem hineingelaufen bin, scheint es, als ob die github repo von mrclay eine Version 3 hat, die anscheinend die Klassen mit Namen versehen hat Installieren Sie eine der 2.x-Versionen der Bibliothek, und dann wird es wie erwartet funktionieren. Ändern Sie Ihre composer.json zu: "mrclay/minify": "^ 2.3" –