Změny na stránce se neprojeví, dokud nesmažu cache

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Arcane
Člen | 10
+
0
-

Zdravím, mám zvláštní problém. Pracuji na jedné stránce a po nějaké době jsem zjistil, že se mi přestaly projevovat jakékoliv změny v kodu. Ladil jsem si menu, ale ve zdrojáku jsem furt viděl starý kod. Stále tam byly staré tagy, staré classy apod. Po nějakém bádání jsem zjistil, že stačí smazat složku s cache a změny se najednou na stránce objevily. Nikdy jsem ale podobný problém neměl. Přeci nemohu mazat cache po každém změněném pixelu v cssku nebo při hraní si s javacriptem. Jak mám tento problém řešit? Jsem v nette poměrně nový, takže jestli je to uplný common sense, tak se omlouvám.

artemevsin
Člen | 61
+
0
-

Na produkci se cache automaticky nemaže. Je třeba nastavit parametr v bootstrap.php a vynutit dev režim. Z hlavy teď nevím, ale určitě se to tady rozebíralo. Tak bys to měl tady na foru najít. Je možné, že je to i v dolumentaci

Arcane
Člen | 10
+
0
-

Já jsem to bohužel už hledal a nenašel. Dělá mi to právě že i na localu. Proto jsem založil nový topic. Našel jsem nějaký řádek, kde se dával do services DevNullStorage, ale to mi stejně nefungovalo.

Editoval Arcane (2. 9. 2016 23:52)

artemevsin
Člen | 61
+
0
-

Pokud se nepletu, tak se Storage to nemá nic společného. V devel modu nette pozná , že se něco změnilo a invaliduje cache. V produkci se to neděje. Někdy se stane , že na localu se nette chová jako na produkci (teď nevím proč) a je nutné vynutit development mode. Myslím, že se to nastavuje přes Environment::Development = true. Ale teď opravdu nevim. Jen z
zkouším. zítra se na to podívám :-)

Arcane
Člen | 10
+
0
-

Oki, děkuji :) Budu moc vděčný, když dáš pak vědět jestli víš co s tím. Taky zkusím ještě pohledat :)

GEpic
Člen | 566
+
0
-

Arcane napsal(a):

Zdravím, mám zvláštní problém. Pracuji na jedné stránce a po nějaké době jsem zjistil, že se mi přestaly projevovat jakékoliv změny v kodu. Ladil jsem si menu, ale ve zdrojáku jsem furt viděl starý kod. Stále tam byly staré tagy, staré classy apod. Po nějakém bádání jsem zjistil, že stačí smazat složku s cache a změny se najednou na stránce objevily. Nikdy jsem ale podobný problém neměl. Přeci nemohu mazat cache po každém změněném pixelu v cssku nebo při hraní si s javacriptem. Jak mám tento problém řešit? Jsem v nette poměrně nový, takže jestli je to uplný common sense, tak se omlouvám.

A Tracy vidíš?

artemevsin
Člen | 61
+
0
-

jak jsem slíbil, posílám odkaz https://doc.nette.org/cs/configuring#…

jak nette detekuje prostředí:
https://github.com/…igurator.php#L346

Editoval artemevsin (3. 9. 2016 7:24)

Arcane
Člen | 10
+
0
-

No „$configurator->setDebugMode(‚23.75.345.200‘);“ v bootstrapu mám odkomentovaný a tracy vidim. Ale potřeboval jsem debugovat error message, který se ukážou na produkci, tak jsem to právě vypnul, dal jsem tam místo IP adresy FALSE, aby se Tracy neukazovala a já viděl tu stránku. Ale pak mám problém s editací, protože se cachuje a změny se neukazují.

Šaman
Člen | 2666
+
0
-

V produkčním módu se cache nepřepisuje při každém requestu (resp. nekontroluje se, jestli se nezměnily zdrojáky). Je to kvůli výkonu.
Když je deploy automatizovaný, tak je součástí rutin i vymazání cache. Když to tam kopíruješ ručně, tak ji musíš i ručně promazat.