Wo Lagere css und js in symfony

im mit symfony ad habe ich gelesen, dass die best practice zum speichern von Bild, js und Bilder /web

<link rel="stylesheet" href="{{ asset('css/bootstrap.min.css') }}" />

wenn ich verwenden möchten, assetic fand ich z.B. wie

    {% javascripts '@AppBundle/Resources/public/js/*' output='js/compiled/main.js' %}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %}

wo @AppBundle ist der logische name des Bundle

Logischen Dateinamen¶

Wenn Sie verweisen möchten eine Datei aus einem bundle, verwenden Sie diese Schreibweise:
@BUNDLE_NAME/Pfad/zur/Datei; Symfony aufgelöst wird @BUNDLE_NAME der
echte Pfad zum bundle. Zum Beispiel, die logische Weg
@AppBundle/Controller/DefaultController.php würde umgewandelt werden
src/AppBundle/Controller/DefaultController.php,, weil Symfony-weiß
die Lage des AppBundle.

Wo muss ich speichern mein Vermögen?

InformationsquelleAutor monkeyUser | 2016-03-21



3 Replies
  1. 3

    Wenn Sie NICHT mit assetic, Sie sollten Ihre öffentlich zugänglich images und js in das /web-Verzeichnis.

    Wenn Sie MIT assetic, Sie sollten Ihre öffentlich zugängliche Bilder und js im @AppBundle/Resources/public/css und @AppBundle/Resources/public/js bzw.. Dann müssen Sie assetic, assetic wird sich automatisch darum kümmern, dass es der öffentlichkeit zugänglich. Sie brauchen nicht zu befürchten, dass es in der Regel filtern und kopieren Sie Ihre Dateien in das /web-Verzeichnis.

    Beispiel:

    {% block javascripts %}
        {% javascripts '@AppBundle/Resources/public/js/*' %}
            <script src="{{ asset_url }}"></script>
        {% endjavascripts %}
    {% endblock %}

    In diesem Beispiel werden alle Dateien im Resources/public/js/- Verzeichnis der AppBundle wird geladen und serviert von einem anderen Standort aus. Die tatsächliche gerendert tag könnte einfach so Aussehen:

    <script src="/app_dev.php/js/abcd123.js"></script>

    Für mehr info, bitte Lesen:
    http://symfony.com/doc/2.8/cookbook/assetic/asset_management.html#installing-and-enabling-assetic

    • Aber mit Assetic, die Sie Bearbeiten können, werden diese Vermögenswerte aber Sie wollen (oder laden Sie Sie von überall) vor dem servieren Ihnen. ok, aber was ist die beste Praxis? speichern im web-o-bundle? weil in diesem link symfony.com/doc/current/best_practices/… die Vermögenswerte in den web-Ordner
    • Ich denke, es ist sicher zu sagen, dass die Verwendung von Assetic ist entmutigt, als durch die Tatsache belegt, dass es auch nicht mehr gebündelt standardmäßig. Wenn Ihr Vermögen einfach nur dann setzen, dann unter /web/css und js. Wenn Sie benötigen einige server-seitige Verarbeitung (Verkleinerung etc) dann nutzen Sie eine der vielen spezialisierten nodejs tools wie gulp, webpack oder browserify.
    • Ich Stimme mit @Cerad. Wenn Sie wiederverwenden Ihre bundles in anderen Projekten, dann speichern Sie es in Ihr Bündel.
  2. 1

    dann sollten Sie Ihre css – /js-Dateien unter app/Resources/assets/css und app/Resources/assets/js (asset-Ordner „public“ – Ordner)

    Und später sollte man verwenden assetic zu setzen, die Finale app.css und app.js unter der web-Ordner (das ist der öffentliche Ordner in symfony-Projekte)

    Dokumentation hier (Widerspruch?) und hier

    • Deine Antwort widerspricht deinem ersten link. Vielleicht könnten Sie erklären, ein wenig mehr?
    • sind Sie sicher, um Assets in der app/Resources/assets/?
    • warum? Ich legte meine assets (css und js) in meine pirvate zone (app/Resources/assets) und später mit assetic ich die Letzte app „Dateien“.css und app.js in den öffentlichen web-Ordner. Ich denke, das ist, es ist richtig, ins T it?
    • Assetic ist nicht mehr standardmäßig geliefert mit Symfony. Die best practices, die Sie im Zusammenhang mit vermeidet die Verwendung von assetic. Vielleicht sollten Sie entfernen deinem ersten link und dann machen deutlich, dass deine Vorschläge sind im Gegensatz zu dem, was Symfony derzeit vermuten lässt. Zumindest, entfernen den link entfernen würde, die eher schwerwiegenden Widerspruch in deiner Antwort.
  3. 1

    Seit Symfony4.0, die Beste Praxis ist jetzt in einem neuen /assets Verzeichnis in der root Verzeichnis.

    Dies macht es viel einfacher für Ihre Frontend-Entwickler und Designer arbeiten, ohne sich in das backend Durcheinander.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.