Statische weergavebestanden gebruiken

WARNING
Alle bevelen van het Magento CLI moeten door de eigenaar van het dossiersysteemworden in werking gesteld.

Het statische bevel van de meningsdossiers plaatsing laat u toe om statische dossiers aan het het dossiersysteem van Commerce te schrijven wanneer de software van Commerce voor productiemoduswordt geplaatst.

Het termijn statische meningsdossier verwijst naar het volgende:

  • "Statisch" betekent dat het bestand voor een site in de cache kan worden geplaatst (het bestand wordt dus niet dynamisch gegenereerd). Voorbeelden zijn afbeeldingen en CSS die zijn gegenereerd op basis van LESS.
  • De "Mening"verwijst naar presentatielaag (van MVC).

Statische weergavebestanden bevinden zich in de map <magento_root>/pub/static en sommige bestanden worden in de map <magento_root>/var/view_preprocessed opgeslagen.

De plaatsing van statische meningsdossiers wordt beïnvloed door toepassingswijzen als volgt:

  • Gebreken ontwikkelaarwijzen: Commerce produceert hen op bestelling, maar de rest wordt in het voorgeheugen ondergebracht in een dossier voor snelheid van toegang.
  • Productiewijze: De statische dossiers worden niet geproduceerd of in het voorgeheugen ondergebracht.

U moet statische meningsdossiers aan het het dossiersysteem van Commerce manueel schrijven gebruikend het bevel in dit onderwerp wordt besproken; daarna kunt u toestemmingen beperken om uw kwetsbaarheid te beperken en toevallig of kwaadwillig het beschrijven van dossiers te verhinderen.

WARNING
wijze van de Ontwikkelaar slechts: Wanneer u installeert of een nieuwe module toelaat, zou het nieuwe JavaScript, CSS, lay-outs, etc. kunnen laden. Als u problemen met statische bestanden wilt voorkomen, moet u de oude bestanden opschonen om ervoor te zorgen dat alle wijzigingen voor de nieuwe module worden doorgevoerd. U kunt gegenereerde statische weergavebestanden op verschillende manieren opschonen. Verwijs naar Schone statische onderwerp van het dossiergeheime voorgeheugen voor detailsvoor meer informatie.

om statische meningsdossiers op te stellen:

  1. Login aan de server van Commerce als, of schakelaar aan de eigenaar van het dossiersysteem.

  2. Verwijder de inhoud van <magento_root>/pub/static , met uitzondering van het .htaccess -bestand. Verwijder dit bestand niet.

  3. Voer het gereedschap voor het implementeren van statische weergavebestanden <magento_root>/bin/magento setup:static-content:deploy uit.

    note info
    INFO
    Als u het samenvoegen van statische weergavebestanden inschakelt in Admin, moet het directorysysteem van pub/static schrijfbaar zijn.

    Opdrachtopties:

    code language-bash
    bin/magento setup:static-content:deploy [<languages>] [-t|--theme[="<theme>"]] [--exclude-theme[="<theme>"]] [-l|--language[="<language>"]] [--exclude-language[="<language>"]] [-a|--area[="<area>"]] [--exclude-area[="<area>"]] [-j|--jobs[="<number>"]]  [--no-javascript] [--no-css] [--no-less] [--no-images] [--no-fonts] [--no-html] [--no-misc] [--no-html-minify] [--no-parent] [-f|--force]
    

De volgende lijst verklaart de parameters en de waarden van dit bevel.

Optie
Beschrijving
Vereist?
<languages>
Ruimte-gescheiden lijst van ISO-639taalcodes waarvoor aan output statische meningsdossiers. (Standaard is dit en_US .)
vind de lijst door te lopen: bin/magento info:language:list
Nee
--language (-l)
Genereer bestanden alleen voor de opgegeven talen. Als er geen optie is opgegeven, worden standaard bestanden voor alle ISO-639-taalcodes gegenereerd. U kunt de naam van één taalcode tegelijk opgeven. De standaardwaarde is allen.
Bijvoorbeeld: --language en_US --language es_ES
Nee
--exclude-language
Genereer bestanden voor de opgegeven taalcodes. Als er geen optie is opgegeven, wordt standaard niets uitgesloten. U kunt de naam van één taalcode of een komma-gescheiden lijst van taalcodes specificeren. De standaardwaarde is niets.
Nee
--theme <theme>
Thema's waarvoor statische inhoud moet worden geïmplementeerd. De standaardwaarde is allen.
Bijvoorbeeld: --theme Magento/blank --theme Magento/luma
Nee
--exclude-theme <theme>
Thema's die moeten worden uitgesloten bij het implementeren van statische inhoud. De standaardwaarde is niets.
Bijvoorbeeld, --exclude-theme Magento/blank
Nee
--area (-a)
Alleen bestanden genereren voor de opgegeven gebieden. Als er geen optie is opgegeven, worden standaard bestanden voor alle gebieden gegenereerd. Geldige waarden zijn adminhtml en frontend . De standaardwaarde is allen.
Bijvoorbeeld: --area adminhtml
Nee
--exclude-area
Genereer geen bestanden voor de opgegeven gebieden. Als er geen optie is opgegeven, wordt standaard niets uitgesloten. De standaardwaarde is niets.
Nee
--jobs (-j)
Laat parallelle verwerkingtoe gebruikend het gespecificeerde aantal banen. De standaardwaarde is 0 (niet in parallelle processen). De standaardwaarde is 0.
Nee
--symlink-locale
Creeer symlinks voor de dossiers van die scènes, die voor plaatsing worden overgegaan, maar geen aanpassingen hebben.
Nee
--content-version=CONTENT-VERSION
Aangepaste versie van statische inhoud kan worden gebruikt als implementatie op meerdere knooppunten wordt uitgevoerd om ervoor te zorgen dat de versie van statische inhoud identiek is en dat caching correct werkt.
Nee
--no-javascript
JavaScript-bestanden niet implementeren
Nee
--no-css
CSS-bestanden niet implementeren.
Nee
--no-less
Implementeer geen LESS-bestanden.
Nee
--no-images
Implementeer geen afbeeldingen.
Nee
--no-fonts
Implementeer geen lettertypebestanden.
Nee
--no-html
Implementeer geen HTML-bestanden.
Nee
--no-misc
Andere bestandstypen niet implementeren: MD, JBF, CSV, JSON, TXT, HTC, SWF
Nee
--no-html-minify
Maak geen minieme HTML-bestanden.
Nee
-s <quick|standard|compact>

De implementatiestrategie definiëren. Gebruik deze opties alleen als u meerdere lokale instellingen hebt.

  • Gebruik de snelle strategieom plaatsingstijd te minimaliseren. Dit is de standaardoptie van het bevel als niet gespecificeerd.
  • Gebruik de standaardstrategieom alle statische meningsdossiers voor alle pakketten op te stellen.
  • Gebruik de compacte strategieom schijfruimte op de server te besparen.
Nee
--no-parent
Genereer geen bestanden voor de bovenliggende thema's van het huidige thema. Het wordt sterk geadviseerd om deze vlag te gebruiken als u niet uitdrukkelijk het ouderthema van het huidige thema gebruikt u probeert op te stellen. Dit verhoogt de snelheid van het proces aanzienlijk. Deze markering is beschikbaar in Commerce 2.4.2
Nee
--force (-f)
Bestanden in elke modus implementeren. (standaard kan het hulpprogramma voor het implementeren van statische inhoud alleen worden uitgevoerd in de productiemodus. Gebruik deze optie als u deze wilt uitvoeren in de standaard- of ontwikkelmodus.)
Nee
INFO
Als u waarden opgeeft voor zowel <languages> als --language , heeft <languages> voorrang.

Voorbeelden

Hier volgen enkele voorbeelden van opdrachten.

Een thema en HTML-miniatuur uitsluiten

Het volgende bevel stelt statische inhoud voor de Engelse (en_US) taal van de V.S. op, sluit het thema van de Luma uit die van Commerce wordt voorzien, en minieme HTML dossiers niet.

bin/magento setup:static-content:deploy en_US --exclude-theme Magento/luma --no-html-minify

Voorbeelduitvoer:

Requested languages: en_US
Requested areas: frontend, adminhtml
Requested themes: Magento/blank, Magento/backend
=== frontend -> Magento/blank -> en_US ===
=== adminhtml -> Magento/backend -> en_US ===
...........................................................
... more ...
Successful: 2055 files; errors: 0
---

New version of deployed files: 1466710645
............
Successful: 1993 files; errors: 0
---

Het volgende bevel stelt slechts JavaScript, met 4 banen, met een standaardplaatsingsstrategie op:

bin/magento setup:static-content:deploy -s standard --no-misc --no-html --no-fonts --no-images --no-less --no-css -j 4

De volgende opdracht implementeert alleen CSS en LESS met 3 taken en een snelle implementatiestrategie:

bin/magento setup:static-content:deploy -s quick --no-misc --no-html --no-fonts --no-images --no-javascript -j 3

Statische weergavebestanden genereren voor één thema en één gebied

Met de volgende opdracht genereert u statische weergavebestanden voor alle talen, alleen het voorste gebied, alleen het Commerce Luma-thema, zonder lettertypen te genereren:

bin/magento setup:static-content:deploy --area frontend --no-fonts --theme Magento/luma

Voorbeelduitvoer:

Requested languages: en_US
Requested areas: frontend
Requested themes: Magento/luma
=== frontend -> Magento/luma -> en_US ===
...........................................................
... more ...
........................................................................
Successful: 2092 files; errors: 0
---

New version of deployed files: 1466711110

Statische weergavebestanden implementeren zonder Commerce te installeren

U zou het plaatsingsproces in een afzonderlijk, niet-productie, milieu kunnen willen in werking stellen, om het even welke bouwstijlprocessen op gevoelige productiemachines te vermijden.

Voer hiertoe de volgende stappen uit:

  1. Voer bin/magento app:config:dump uit om de configuratie vanuit uw productiesysteem te exporteren.
  2. Kopieer de geëxporteerde bestanden naar de basis van de niet-productiecode.
  3. Statische weergavebestanden gebruiken: bin/magento setup:static-content:deploy

Problemen met het implementatieprogramma voor statische weergavebestanden oplossen

installeer eerst de software van Commerce; anders, kunt u niet het statische hulpmiddel van de de plaatsingsdossiers van meningsdossiers in werking stellen.

Symptom: De volgende fout wordt getoond wanneer u het statische hulpmiddel van de de plaatsingsdossiers van meningsdossiers in werking stelt:

ERROR: You need to install the Commerce application before running this utility.

Oplossing:

Voer de volgende stappen uit:

  1. Installeer de software van Commerce gebruikend de bevellijn.
  2. Login aan de toepassingsserver als, of schakelaar aan, de eigenaar van het dossiersysteem.
  3. Verwijder de inhoud van de map <app_root>/pub/static , behalve het bestand .htaccess . Verwijder dit bestand niet.
  4. Statische weergavebestanden gebruiken: bin/magento setup:static-content:deploy

Tip voor ontwikkelaars die het statische hulpmiddel van de inhoudsimplementatie aanpassen

Wanneer u een aangepaste implementatie van het hulpprogramma voor de implementatie van statische inhoud maakt, gebruikt u alleen het schrijven van atomische bestanden voor bestanden die op de client beschikbaar moeten zijn. Als u niet-atomische bestanden schrijft, kunnen deze bestanden op de client worden geladen met gedeeltelijke inhoud.

Een van de opties om het atomisch te maken is naar bestanden te schrijven die zijn opgeslagen in een tijdelijke map en deze na schrijven naar de doelmap te kopiëren of te verplaatsen (van waar ze naar de client zijn geladen). Voor details over het schrijven aan dossiers, zie php schrijven.

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c