Symfony krijgt Asset Name in Assetic output

Ik genereer mijn bestand met de volgende code:

{% block head_stylesheets %}
    {% stylesheets
        filter='?uglifycss'
        '@MyBundle/Resources/public/less/myfile.less'
    %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="screen"/>
    {% endstylesheets %}
{% endblock head_stylesheets %}

Het dumpt een bestand met de naam: c543k540_myfile_1.css

Dit bestand bestaat uit de assetnaam gevolgd door de bestandsnaam: {assetName}_{filename}.css

Hoe kan ik de uitvoer aanpassen door de itemnaam in de uitvoer te behouden?

{% block head_stylesheets %}
    {% stylesheets
        output="css/mynewfilename.{assetName}.css"     // <--- Here
        filter='?uglifycss'
        '@MyBundle/Resources/public/less/myfile.less'
    %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="screen"/>
    {% endstylesheets %}
{% endblock head_stylesheets %}

Update ter verduidelijking

Ik weet dat als ik de naamoptie gebruik, het in prod zal compileren naar myouputname.cssmaar wat ik zou willen hebben in debug/dev-omgeving is het volgen van de onderstaande code, zoiets als myfile_myouputname_1.css

{% block head_stylesheets %}
    {% stylesheets
        name="myouputname"     // <--- Here
        filter='?uglifycss'
        '@MyBundle/Resources/public/less/myfile.less'
    %}
    <link href="{{ asset_url }}" type="text/css" rel="stylesheet" media="screen"/>
    {% endstylesheets %}
{% endblock head_stylesheets %}

Bedankt voor je antwoord.


Antwoord 1, autoriteit 100%

Het wordt niet langer aanbevolen om Assetic te gebruiken om webassets in Symfony-toepassingen te beheren. Gebruik in plaats daarvan Webpack Encore.
https://symfony.com/doc/current/ frontend/assetic/index.html#dumping-asset-files

Pagina-specifiek JavaScript of CSS (meerdere items) wordt hier beschreven:
https://symfony.com/doc/ current/frontend/encore/simple-example.html#multiple-javascript-entries

// webpack.config.js
Encore
    // ... general CSS file here...
    .addStyleEntry('some_page', './assets/css/assetName.css')
;

Het gebruik van addStyleEntry() wordt ondersteund, maar niet aanbevolen. Een betere optie is om het bovenstaande patroon te volgen: gebruik addEntry() om naar een JavaScript-bestand te verwijzen en vraag vervolgens de benodigde CSS van binnenuit.

Other episodes