Magento 2.1 Warum statische Inhalte nach jedem Setup bereitgestellt werden: Upgrade

7

Ich habe Magento 2.1.0erfolgreich installiert und auch viele Module erstellt.

Plötzlich werden nach jedem php bin/magento setup:upgradeBefehl keine statischen Inhalte mehr generiert.

Das Problem ist, dass nach jedem setup:upgradeBefehl ein Befehl zum Bereitstellen statischen Inhalts erforderlich ist, andernfalls funktioniert kein CSS und JS. Wenn mir jemand eine Lösung vorschlagen kann und der Grund nennenswert wäre.

Der Bereitstellungsmodus lautet: Entwickler

SPK
quelle
in der Magento-Dokumentation: Entwicklermodus: Statische Ansichtsdateien werden nicht zwischengespeichert. Sie werden jedes Mal, wenn sie aufgerufen werden, in das Magento Pub / Static-Verzeichnis geschrieben
wk
Danke wk, Ja, wenn der Modus auf Entwickler eingestellt ist, muss er automatisch statischen Inhalt generieren, aber das ist hier das Problem. Obwohl der Modus auf Entwickler eingestellt ist, werden statische Inhalte nicht nach jedem Upgrade-Befehl automatisch generiert.
SPK

Antworten:

2

Ich stimme Ihnen hier darin zu, dass Sie dies jedes Mal tun müssen.

Ich werde aufgefordert, setup auszuführen: static-content: bei jedem Upgrade bereitstellen, und ich habe zwei Sprachen, sodass ich mit dem Gebietsschema-Flag daneben ausführen muss, dh:

php bin/magento setup:static-content:deploy en_US <other locals>

Wir haben jedoch die Option --keep-generate with setup: upgrade . Siehe die Hilfe:

php bin/magento setup:upgrade --help
Usage:
 setup:upgrade [--keep-generated] [--magento-init-params="..."]

Options:
 --keep-generated       Prevents generated files from being deleted. 
                        We discourage using this option except when deploying to production. 
                        Consult your system integrator or administrator for more information.
 --magento-init-params  Add to any command to customize Magento initialization parameters
                        For example: "MAGE_MODE=developer&MAGE_DIRS[base][path]=/var/www/example.com&MAGE_DIRS[cache][path]=/var/tmp/cache"
 --help (-h)            Display this help message
 --quiet (-q)           Do not output any message
 --verbose (-v|vv|vvv)  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
 --version (-V)         Display this application version
 --ansi                 Force ANSI output
 --no-ansi              Disable ANSI output
 --no-interaction (-n)  Do not ask any interactive question

Der statische Inhalt bleibt erhalten.

George
quelle
1

Um den statischen Inhalt (html, css, js) neu zu generieren, lautet der Befehl:

php bin/magento setup:static-content:deploy

Dadurch werden die statischen Assets unter pub / static generiert .

Andernfalls können Sie 2 Befehle mit && kombinieren :

php bin/magento setup:upgrade && php bin/magento setup:static-content:deploy 

Dadurch werden die beiden Befehle in 1 verkettet, insbesondere wenn der erste erfolgreich ist, wird der zweite ausgeführt.

Elio Ermini
quelle
Elio danke, aber du hast meine Frage nicht verstanden. Ich weiß, dass dieser Befehl zum Generieren statischer Inhalte verwendet wird. Mein Problem ist jedoch, dass der Befehl "php bin / magento setup: upgrade" immer dann ausgeführt wird, wenn der Befehl "php bin / magento setup: static-content: deploy" ausgeführt wird. CSS und JS zu generieren, was zeitaufwändig ist. Wenn ich "php bin / magento setup: upgrade" ausführe, sollte nicht nach "php bin / magento setup: static-content: deploy" gefragt werden, welche Maßnahmen dafür ergriffen werden sollten.
SPK
hi @SPK siehe meine aktualisierte Antwort, wenn Sie Ihre Frage lösen können.
Elio Ermini