Nachsymfony2: mit assetic-dump, ist es möglich, nur eine Datei abzulegen?
php app/console assetic:dump --env=prod
alle die Vermögenswerte dumpped läuft.
Gibt es eine Möglichkeit, nur eine Datei abzulegen?
Nachsymfony2: mit assetic-dump, ist es möglich, nur eine Datei abzulegen?
php app/console assetic:dump --env=prod
alle die Vermögenswerte dumpped läuft.
Gibt es eine Möglichkeit, nur eine Datei abzulegen?
Sieht aus wie Sie Ihren eigenen Befehl erstellen müssen:
<?php
namespace Your\Namespace\Command;
use Symfony\Bundle\AsseticBundle\Command\AbstractCommand;
class DumpSingleAsset extends AbstractCommand
{
protected function configure()
{
$this
->setName('assetic:dump_single_asset')
->setDescription('Dumps a single asset')
->addArgument('name', InputArgument::REQUIRED, 'The name of the asset')
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$name = $input->getArgument('name');
$this->dumpAsset($name, $output); // Inherited from AbstractCommand
}
}
Assetic docs zeigt eine Art und Weise einfache Weise Vermögen auszugeben, aber ich konnte keine Dokumentation der AsseticBundle Interna finden, ich habe gerade gelesen the code of the Command.
Hier ist eine Lösung, die nur Konfigurationen verwendet. In der Konfigurationsdatei läßt Bündel als:
bundles: []
Dies wird das Vermögen von jedem Bündel nicht geladen werden, wenn Sie es manuell angeben.
Verwenden Sie benannte Assets wie hier beschrieben, um die Assets einzeln zu laden.
http://symfony.com/doc/current/cookbook/assetic/asset_management.html#using-named-assets
Ich habe meine eigene harte knifflige Lösung für ein ähnliches Problem, weil ich Dump muß Vermögenswerte nicht vorhanden auf Zweig Vorlagen aus der Datenbank oder JSON-Datei kommen.
Nur mit Asset-Namen, ich verstehe nicht, wie Sie es ohne weitere Erklärung tun könnten. Wenn Sie $ name value beim Ausführen von assetic dump ausgeben, erhalten Sie etwas wie 'afd49f7'. Symfony2 liest alle Javascripts und Stylesheet-Blöcke auf Zweigvorlagen und weist diesen Schlüsselnamen automatisch zu.
Wenn Sie versuchen, eine Datei manuell zu verkleinern, verwenden Sie besser yui-compressor o.ä. direkt, andernfalls müssen Sie eine Sammlung von Assets in eine Datei speichern (eine Sammlung könnte nur eine Datei enthalten) oder eine einzelne Datei, aber mit symfony2 Sie müssen "benannte Assets" und so etwas wie den von parla vorgeschlagenen Befehl verwenden. Siehe den entsprechenden Abschnitt auf How to Use Assetic for Asset Management und überprüfen Sie auch AsseticBundle Configuration.
Trotzdem funktioniert der obige Befehl nicht auf Symfony2 v2.3 (LTS) Ursache dumpAsset-Methode wird als private auf DumpCommand deklariert, und AbstractCommand nicht vorhanden.
Wenn Sie Symfony2 v2.3 verwenden, müssen Sie die gesamte Befehlshinzufügungsoption --name
neu schreiben und ->setName('assetic:dump')
für etwas anderes ändern.
Wo lebt diese einzelne Datei? Wenn ich es richtig verstanden habe, wollen Sie etwas wie das Auswählen von Dateien zum Generieren, ohne die aktuelle Funktionalität von Assetic zu unterbrechen – MKoosej