Sto cercando di comprendere come le risorse statiche funzionano in un ambiente di produzione, la documentazione sembra piuttosto spaventosa, ma potrebbe essere solo io.Risorse nell'ambiente prod e caricamento file
Secondo http://www.phoenixframework.org/docs/deployment, è necessario eseguire MIX_ENV=prod mix phoenix.digest
come parte della distribuzione. Questo sembra duplicare tutte le mie risorse, con una stringa concatenata al nome, che viene poi servita se si utilizza static_path/2
, suppongo che questo abbia qualcosa a che fare con il caching bust sulla distribuzione. Grande!
La funzione digest crea anche manifest.json dentro la mia cartella priv, sembra qualcosa di simile ..
{"images/calltoaction.png":"images/calltoaction-13cfefeb09c991b12090bcf0a10f2dd2.png","fonts/fontawesome-webfont.woff2":"fonts/fontawesome-webfont-4b5a84aaf1c9485e060c503a0ff8cadb.woff2","im.....
Suppongo Phoenix usa questo per mappare i beni a loro corrispondenti version.Please fare corretta io, se ho sbagliato completamente qui. Oooh bene, alla mia domanda.
Nella mia applicazione gli amministratori sono in grado di caricare immagini nel pannello di amministrazione, che vengono caricate su /priv/static/images/model/version/..
. Il problema è che queste immagini appena caricate non sono nel file manifest.json e quindi non verranno mostrate?
Questo sembra molto funky, poiché le nuove immagini non vengono mostrate, né vengono sostituite le immagini ecc. Come gestirò questo problema? Dovrei caricare le mie immagini in un altro posto, che non dovrebbe essere digerito?
Ho finito per aggiungere un altro Plug.Static e utilizzare/upload per i file, questo sembra evitare la cache per i file caricati. :) – MartinElvar
È strano che tu abbia bisogno di un altro plug però. Solo per curiosità: hai provato il suggerimento sopra e non ha funzionato o il mio suggerimento è arrivato troppo tardi? :) –
Non ho mai usato 'static_path' per le immagini caricate, mi è sembrato che il manifest manifestsimpedisse a tutti i nuovi upload di essere mostrato a tutti, motivo per cui ho aggiunto un nuovo plug. – MartinElvar