Le modifiche a CSS e JavaScript si applicano solo dopo la distribuzione di contenuto statico


8

Ho installato Magento 2 dal sito Magento. Ho attivato la modalità sviluppatore da

{project directory}>php bin/magento setup:mode:set developer

Quindi ho installato il mio tema personalizzato e finalmente ho distribuito il mio contenuto statico

{project directory}>php bin/magento setup:static-content:deploy

Il mio problema è che devo eliminare la pub/staticdirectory e distribuire il contenuto statico ogni volta per applicare le modifiche css e javacript. Il processo di distribuzione del contenuto statico è lento e richiede così tanto tempo che è molto frustrante. Sviluppo qualcosa e devo implementarlo per far apparire il cambiamento. Anche per cambiamenti molto piccoli. Svuotare la cache non aiuta. Qualsiasi aiuto sarebbe apprezzato. Grazie in anticipo.

Risposte:


4

Per ora hai solo questo modo di applicare le modifiche. Magento dovrebbe applicare le modifiche alla directory pub / static ma non lo è. Questo ancora conosce bug. Spero che dovrebbe essere risolto presto
È possibile applicare nuove modifiche al comando come fai tu. In questo modo ci vorranno alcune volte ma dovrebbe funzionare a
modo mio quando modifico js dalla mia estensione. Vado al pub dir e svuoto la cartella

\pub\static\frontend\Magento\luma\en_US\<Vendor_Module>\js

Puoi fare lo stesso con i file CSS quando personalizzi gli stili


Conosci qualche biglietto su github o è la tua opinione personale? Come so non ci sono problemi.
KAndy,

4

Magento ha una strategia diversa per materializzare le risorse statiche. Copia e Link. Quando esegui setup: static-content: distribuisci questo comando usa Copia la strategia e il file verranno materializzati nella cartella statica e non cambieranno quando cambi l'originale.

Se si pulisce la cartella statica e si apre la pagina nel browser, verrà utilizzata la strategia di collegamento e il collegamento sul file originale creato. Quindi modificherai l'origine e vedrai le modifiche


Esatto, ma ci vuole più tempo per caricare la pagina dopo aver eliminato il contenuto statico e non averlo distribuito. C'è anche un problema con la cache del browser, anche se in questo caso possiamo usare le schede in incognito che aumentano di nuovo il tempo di caricamento quando viene creato nuovo contenuto. Fondamentalmente, è un processo che richiede tempo e non puoi negarlo.
Sanjay Chaudhary,

0

Ma una volta rimosso manualmente dalla directory \ pub \ static \ frontend \ Magento \ luma \ en_US \ Vendor_Module \ js, non viene generato automaticamente una volta caricato la pagina. Per questo di nuovo, devo applicare il comando deploy di contenuto statico, quindi ci sono nuove modifiche nei file js & css cosa ho fatto per il modulo specifico.


0

Se corri

bin/magento dev:source-theme:deploy --theme [Vendor]/[theme] --locale <locale>

prima della distribuzione di risorse statiche, Magento creerà nel link simbolico pub / directory statica (non copia) ai file nel fornitore.

Quindi puoi modificare i file nel tuo tema e automaticamente i file generati in pub / static senza eseguire bin / magento setup: static-content: distribuisci ogni volta.

Ora puoi usare un task runner per compilare i tuoi file e generare il css.


0

Il problema è che quando si elimina l'intero contenuto di pub / static, si elimina anche il file .htaccess e questo causa i problemi con la generazione di collegamenti simbolici a risorse statiche in modalità sviluppatore.

Così,

  1. Non eliminare il file .htacess.
  2. Elimina solo la directory del tuo tema specifico, ad es. elimina i contenuti solo in pub / static / frontend / Your / theme

Dalla mia esperienza, quando utilizzo i collegamenti simbolici ai file statici in modalità sviluppatore, non è necessario eliminarli per vedere le modifiche. In caso di dubbio, corri e basta

php bin/magento cache:flush
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.