Dopo aver eseguitosymfony2: usando assetic-dump, è possibile scaricare un solo file?
php app/console assetic:dump --env=prod
tutti le attività sono dumpped.
C'è un modo per scaricare un solo file?
Dopo aver eseguitosymfony2: usando assetic-dump, è possibile scaricare un solo file?
php app/console assetic:dump --env=prod
tutti le attività sono dumpped.
C'è un modo per scaricare un solo file?
Sembra che si dovrà creare il proprio comando:
<?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 mostra un modo molto più semplice per scaricare le attività, ma non sono riuscito a trovare alcuna documentazione delle parti interne AsseticBundle, ho appena letto the code of the Command.
Ecco una soluzione che utilizza solo configurazioni. Nel file di configurazione lasciare bundle come:
bundles: []
Questo non caricherà i beni da qualsiasi pacchetto a meno di specificare manualmente.
utilizzare le risorse denominate come descritto qui per caricare le risorse che si desidera singolarmente.
http://symfony.com/doc/current/cookbook/assetic/asset_management.html#using-named-assets
Io ho la mia propria soluzione difficile difficile per un problema simile perché ho bisogno di eseguire il dump beni non presenti su modelli ramoscello provenienti da file di database o JSON.
Con solo il nome della risorsa, non capisco come si potrebbe fare senza ulteriori spiegazioni. Se si stampa $ nome valore quando si esegue il dump assetico, si ottiene qualcosa come 'afd49f7'. Symfony2 legge tutti i blocchi javascript e fogli di stile sui modelli di ramoscelli e assegna automaticamente questo nome chiave.
Se si tenta di ridimensionare un file manualmente è preferibile utilizzare direttamente yui-compressor o simili, altrimenti è necessario eseguire il dump di una raccolta di risorse in un file (una raccolta può contenere solo un file) o un singolo file ma utilizzando symfony2 è necessario utilizzare "risorse nominate" e qualcosa come il comando suggerito da parla. Vedere la sezione corretta su How to Use Assetic for Asset Management e controllare anche AsseticBundle Configuration.
In ogni caso, il comando precedente non funziona su Symfony2 v2.3 (LTS) perché il metodo dumpAsset è dichiarato privato su DumpCommand e AbstractCommand non esiste.
Se si usa Symfony2 v2.3, è necessario riscrivere l'intero comando aggiungendo l'opzione --name
e cambiare ->setName('assetic:dump')
per qualcos'altro.
Dove vive quel singolo file? Se ho capito bene, vuoi qualcosa come raccogliere file da generare senza interrompere l'attuale funzionalità di assetic – MKoosej