Should npm Really Be Used as a Build Tool?

Ca o continuare a discuției Why javascript development is crazy:

Acum câteva săptămâni, am avut o scurtă discuție cu @ct27stf pro/contra build tools în JS (el susține că npm scripts sunt suficiente). Problemele apar în momentul în care ai de rulat ceva mai mult de două-trei task-uri, pentru că observi că ai path-uri care se repetă, ai comenzi care se repetă, one-linerele sunt cu atât mai greu de citit cu cât sunt mai vechi șamd.

Și faci ce face orice om normal: extragi chestiile care se repetă într-un fișier JS. Și adaugi puțină logică, să eviți codul duplicat. Și până să-ți dai seama, te-ai pricopsit cu propria versiune de Gulp :slight_smile:

2 Likes

Un pro ar fi faptul ca, astfel, development-ul in JS este usurat, pentru proiecte mici, ducand, astfel, la mai multe proiecte scrise in JS, care duce la o mai mare cota de piata pentru proiecte scrise in JS.

Un contra ar fi exemplul dat de left-pad, precum si faptul ca desi usureaza munca pe termen scurt, daca procesul de dezvoltarea se lungeste, pe termen lung poate cauza probleme. Mari.

Nu numai din cauza exemplului cu left-pad, ci si din pricina faptului ca neavand control asupra codului respectiv, precum si probabilitatea destul de mare de a folosi o librarie fara a intelege cum functioneaza, probabilitatea erorilor creste, odata cu improbabilitatea de a stii de unde (ma refer la efectul “that code smells”, cu alte cuvinte, la instinct, or the result of a low-level deep-scannig, using fragmented data regarding a problem at hand, the fragmented data being mixed with random data).

Depinde si de experienta pe care o ai cu grunt, gulp sau (doar) npm.
Eu am inceput acum 1 an sa folosec npm & gulp si n-a fost chiar usor sa am un setup dev & build complet, mi-a luat cateva zile bune. Dar eram la inceput cu ele si a fost normal pentru mine, intrucat nu sunt genul care invata foarte rapid chestii noi.

Saptamana trecuta am zis sa incerc webpack ca deh, e “ultimul val” si multi il lauda pentru simplitate. M-am chinuit 2-3 zile sa-l configurez, dupa care m-am intors la gulp.
Concluzia mea: uneori chiar ne batem capul inutil cu tool-uri noi, in loc sa folosim ce stim si merge bine pentru noi si proiectele noastre.

Da, e ok si necesar, ca programator, sa arunci mereu o privire catre lucrurile noi, altfel ramai “de caruta”.
Da, poate ma mandresc ca sunt programator “full-stack”, dar stiu ceva la nivel expert? Nu prea, pentru ca efectiv nu am timp sa devin expert pe ceva anume.

Un articol bun despre subiect:
https://medium.freecodecamp.com/why-i-left-gulp-and-grunt-for-npm-scripts-3d6853dd22b8#.fthrp069u

Daca il citeam inainte sa folosesc gulp, poate ramaneam doar la npm.

1 Like