Webpack DevServer - jak zobrazit info o probíhajícím rebuildu rubrika: Programování: JavaScript

5 vaclav.sir
položil/-a 23.6.2016

Používám při vývoji Webpack DevServer. Rád bych si do stránky přidal informaci o tom, že probíhá rebuild, že už doběhl, nebo že hodil chybu. Tyhle informace jsou sice vypisované do konzole, ale nepřijde mi moc praktické ji mít pořád otevřenou.

Jde o to, že rebuild trvá třeba 10 sekund a bez otevřené konzole nevíte, jestli pořád ještě čekáte, nebo jestli tam třeba nemáte nějakou chybu.

Koukal jsem, odkud se do konzole vypisuje informace o těch událostech, co mě zajímají:

Bohužel to nenabízí žádnou standardní cestu, jak se na ty události navěsit.

Napadly mě jenom dvě cesty a ani jednou moc nechci jít:

  1. Forknout DevServer a upravit si to.
  2. Předefinovat window.console.log a odchytávat to podle textu message.

Nevýhody obou řešení jsou asi zřejmé, takže se prozatím bez této featury obejdu. Nenapadá někoho ještě nějaká třetí cesta?

Komentáře

  • kamylko : Mozem vediet, aka velka je code base, ze to trva 10 sekund? Ci len prvy build tolko trva? 24.6.2016
  • vaclav.sir : Kolem 10 sekund trvá, než se projeví změna v našem variables.less, ve kterém máme definované třeba barvy, takže to invaliduje asi všechny moduly se styly. Samotné LESS soubory mají něco přes 600 kB, k tomu spousta obrázků, které zpracovává url-loader. Build javascriptových modulů trvá ještě déle. Ten projekt má za sebou už asi 4 roky vývoje, takže sebou táhne i nějaký ten legacy code... Určitě by se to dalo optimalizovat, třeba striktnějším oddělením front/admin a desktop/mobile, ale v tuto chvíli to je všechno dost provázané. 24.6.2016
  • kamylko : Chapem, my mame jeden projekt z dost velkym code baseom a build trva zhruba tolko co vravis, ale hot reload radovo desiatky milisekund. Nemas tam pouzite nejake preloadery? Tak isto pouzitie noParse array v konfigu je cesta. 1.7.2016
odkaz
8 Občan
odpověděl/-a 25.6.2016

Používám node-notifier a události o buildu vypisuju v OS, jako notifikaci-toaster. Je to pro všechny platformy. Pak stačí jenom místo console.log používat notifier.notify().

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.