Nette + webpack + hot reload

Pepino
Člen | 256
+
0
-

Zdravím,
podařilo se někomu zprovoznit na localhostu nette + webpack + hot reload ?
Při mých pokusech jsem došel k následujícímu problému:
Webpack dev server běží na localhost:8080, web běží na localhost:80. Při jakékoliv změně kódu se snaží server stáhnout hot-update.json z localhost:80 ale tam není protože je na localhost:8080.
Zkoušel jsem to obejít pomocí htaccess a přesměrovat natvrdo dotaz na webpack dev server, ale tam je zase problém s CORS (můžu vypnout, ale hledám jiné řešení).
Díky.

Pavel Kravčík
Člen | 1195
+
0
-

Byl to strašný pain a taky jsem se po hodině rozhodl to řešení opustit. Ono popravdě ty nalinkované soubory měníš opravdu výjimečně a to nejhorší, co se Ti stane je, že musíš vypnout/zapnout server jedním příkazem v konzoli. Tj. nestálo to za to řešit. A od té doby (cca 6 měsíců) jsem to ani jednou nepotřeboval.

Pepino
Člen | 256
+
0
-

Pavel Kravčík napsal(a):

Byl to strašný pain a taky jsem se po hodině rozhodl to řešení opustit. Ono popravdě ty nalinkované soubory měníš opravdu výjimečně a to nejhorší, co se Ti stane je, že musíš vypnout/zapnout server jedním příkazem v konzoli. Tj. nestálo to za to řešit. A od té doby (cca 6 měsíců) jsem to ani jednou nepotřeboval.

V podstatě jsem se taky na to už vykašlal, ale říkal jsem si, jestli někdo nemá nějaký fix jak to rozjet.

emololftw
Člen | 82
+
0
-

Mě osobně se to skrze devServer také nepodařilo rozjet. Používám balíček contributte/webpack. U tohoto balíčku je v package.json série příkazů. Je zde příkaz npm run watch, který automaticky vytváří bundle při změně(a následném uložení) v inkludovaných souborech ať už je to .js nebo .scss.

Make long story short: upravím některý .scss pravidlo a v cmd vidím jak automaticky proběhne bundle.

Editoval emololftw (18. 2. 2022 11:11)

Pepino
Člen | 256
+
0
-

emololftw napsal(a):

Mě osobně se to skrze devServer také nepodařilo rozjet. Používám balíček contributte/webpack. U tohoto balíčku je v package.json série příkazů. Je zde příkaz npm run watch, který automaticky vytváří bundle při změně(a následném uložení) v inkludovaných souborech ať už je to .js nebo .scss.

Make long story short: upravím některý .scss pravidlo a v cmd vidím jak automaticky proběhne bundle.

devServer se mi podařilo rozjet. Funguje tam alespoň live reloading (v podstatě watch ale sám reloaduje stránku), ale šlo mi o ten hot reload. Balíček contributte/webpack taky používám.

Editoval Pepino (18. 2. 2022 11:47)

Felix
Nette Core | 1197
+
0
-

Take jsem s tim zapasil, ale pak se mi to podarilo celkem vyresit. Sepsal jsem to do contributte/webpack-skeletonu.

https://github.com/…ck-skeleton/

PS: Nepouziva to contributte/webpack (ten v te dobe jeste nebyl).

PS2: Pripravuji tedka seamless reseni s vyuzitim Vite.js a bude to o poznani jednodussi. Aspon podle prvnich pokusu.

Pepino
Člen | 256
+
0
-

Felix napsal(a):

Take jsem s tim zapasil, ale pak se mi to podarilo celkem vyresit. Sepsal jsem to do contributte/webpack-skeletonu.

https://github.com/…ck-skeleton/

PS: Nepouziva to contributte/webpack (ten v te dobe jeste nebyl).

PS2: Pripravuji tedka seamless reseni s vyuzitim Vite.js a bude to o poznani jednodussi. Aspon podle prvnich pokusu.

Z toho navodu jsem vychazel, ale i kdyz udelam presne co je v tom navodu tak to nefunguje. Jak uz jsem psal vyse, hot reload se snazi stahnout json soubor ze serveru na jakem bezi web namisto ze serveru kde bezi devServer.

jiri.pudil
Nette Blogger | 1029
+
0
-

hot reload se snazi stahnout json soubor ze serveru na jakem bezi web namisto ze serveru kde bezi devServer

Mělo by stačit pro development nastavit output.publicPath přímo absolutně na URL dev serveru.

Pepino
Člen | 256
+
0
-

jiri.pudil napsal(a):

Mělo by stačit pro development nastavit output.publicPath přímo absolutně na URL dev serveru.

Funguje! Díky.

Editoval Pepino (20. 2. 2022 14:01)

galab
Backer | 74
+
0
-

Pro macáky můžu doporučit CodeKit. Pro BE developery asi nejmenší zlo :) A hot reload umí opravdu slušně – navíc napříč zařízeníma, kde zvládne i synchro např. ve formulářích