Node.js nudi mnoštvo modula koji programerima olakšavaju svakodnevni rad. Neki su možda poznati, neki manje poznati, ali činjenica je da će mnogi od njih u nekom trenutku zatrebati svakom programeru.
Saznajte na vreme koji su to moduli i na koji se način mogu koristiti.
Node.js je tokom godina stekao popularnost, i sada se često koristi za razvoj serverskih strana veb aplikacija, ili uopšte tokom programiranja. Početna strana npm trenutno broji skoro pola miliona besplatnih modula, što je i najveći svetski repozitorijum takve vrste.
Nakon 12 korisnih JavaScript biblioteka za 2017. godinu dolazi potvrda da node.js stiče sve veću popularnost. Stoga u nastavku saznajte koji su moduli node.js trenutno popularni i koje vrste programerskog posla mogu olakšati. Među njima su razvoj programa (eng. software development), validacija podataka (eng. string validation), stvaranje fajlova u formatu pdf (eng. PDF generation), i mnogi drugi.
Korisni moduli node.js koje treba poznavati
Formatiranje datuma
Standardni JavaScript API već ima mogućnost za rad s datumima i vremenima. Ali, ta stavka nije toliko korisna kada su u pitanju štampanje i formatiranje datuma. Zbog toga moment.js nudi jednostavan API, zahvaljujući kome se dobija čitak i razumljiv kod.
Dodatno je korisna funkcionalnost razdvajanja i formatiranja datuma u različitim vremenskim zonama.
Obrada slika
GraphicsMagick i ImageMagick su dve popularne alatke za stvaranje i uređivanje slika. Pomoću modula node.js, obe se mogu koristiti direktno iz koda JavaScript, a on podržava najčešće operacije uređivanja slika: menjanje dimenzija (eng. resizing), isecanje (eng. clipping) i enkodiranje (eng. encoding).
Slanje imejlova
Programsko slanje imejlova funkcija je koja se često koristi na vebsajtovima. Počevši od potvrđivanja registracije korisnika, preko obaveštavanja korisnika i slanja informativnih biltena i promotivnih ponuda, postoji mnoštvo razloga za stupanje u kontakt s korisnicima.
Standardni node.js API ne nudi takvu funkcionalnost, stoga je nastao modul Nodemailer, koji podržava i tekstualni sadržaj, HTML sadržaj, i ugrađivanje slika, a sve to pomoću obezbeđenih protokola SSL/STARTTLS.
Rad s bojama
Iako možda postoje programeri koji nikad nisu radili s bojama, činjenica je da će se i to jednom desiti. Modul koji u tome pomaže jeste TinyColour2, a dostupan je i za node.js i za pregledače.
U njemu postoje skupovi metoda poput toHexString() i toRGBString(), ali i metode za različite vrste operacija s bojama, poput lighten(), saturate(), i complement().
Validacija podataka
Kada na sajtu postoje formulari za popunjavanje, podaci koje korisnik unosi u njih trebalo bi da se potvrde. To treba da uradi i klijent (pregledač, eng. browser), ali i server – da bi se sprečili neispravni podaci.
Modul koji u tome pomaže je validator.js, jer nudi više načina za validaciju podataka. Među njima su isEmail(), isURL(), isMobilePhone() ili isCreditCard(). Dodatna pogodnost koja odlikuje ovaj modul jeste što funkcioniše i za servere i za klijente.
Pravljenje REST API
Kada su u pitanju veb aplikacije koje koriste razne servise, REST je tu neprikosnoveni standard. Ekspres (eng. Express) omogućava pravljenje takvih servisa, ali često dolazi u paketu sa šablonima i stvaranjem često nepotrebnih proizvoda.
Međutim, modul restify pomaže u pravljenju REST API-ja i uklanjanju greški iz istog. Sličan je Konektu (eng. Connect), ali omogućava veću kontrolu nad interakcijama HTTP-a i podržava DTrace, koji pomaže u blagovremenom rešavanju problema u aplikacijama.
Umanjivanje HTML-a
Umanjivanje HTML-a samo je jedna od mogućnosti, jer se osim HTML-a mogu umanjivati i slike, CSS, JavaScript, SVG.
Modul HTMLMinifier može se koristiti u komandnoj liniji, ali je dostupan iza gulp i Grunt. Postoje i srednja rešenja pomoću kojih se može ugraditi u Kou (eng. Koa) i Ekspres (eng. Express), te se HTML može umanjivati direktno po pokretanju, pre dostavljanja klijentu pomoću HTTP-a.
Po onome što stoji na početnoj strani sajta ovog modula, on je trenutno najbolji umanjivač HTML-a.
Stvaranje fajlova u formatu PDF
Dinamičko pravljenje fajlova u formatu PDF omogućeno je modulom PDFKit, koji podržava uključivanje tipova fontova, slike i definicije vektorskih grafika.
Dodatno možete definisati linkove, uključiti beleške, označiti tekst, itd. Onima koje je ovo zaintrigiralo preporučujemo dodatnu literaturu – demo.
Pravljenje lažnih podataka
Testiranje korisničkog interfejsa podrazumeva rad s dosta lažnih podataka, poput imejl adresa, korisničkih imena, adresa i brojeva telefona, a u takvim slučajevima korisno je poznavati modul faker.js.
On se može koristiti na serveru (kao modul node.js-a), ili na strani klijenta, i omogućeva skup metoda za generisanje lažnih podataka. Jednostavnim pozivanjem komande faker.internet.userName() dobija se nasumično korisničko ime, a pozivanjem komande faker.company.companyName() dobija se ime nepostojeće kompanije.
Pravljenje aplikacija CLI
Već postoji pregršt aplikacija komandnih linija (eng. CLI applications) koje kroz node.js obrađuju različite probleme. Međutim, za ručno pisanje aplikacija CLI koristan je modul commander.js, jer omogućava API za definisanje različitih aspekata aplikacija CLI poput komandi, opcija, imena, pomoći i mnogih drugih. Na taj način znatno uprošćuje proces stvaranja aplikacija komandne linije.
Ukratko
Popularnost programskog jezika JavaScript ne samo da ne jenjava već raste svakodnevno. Zbog toga nastaje i sve više biblioteka, a njihovi moduli omogućavaju mnoštvo funkcionalnosti.
Moduli poput onih za rad s datumima, obradom slika, bojama, validacijom podataka, stvaranjem lažnih podataka, slanjem imejlova, umanjivanja HTML-a, samo su neki od izuzetno korisnih modula node.js s kojima se svakodnevno susrećemo.
Imate li preporuke za neki sličan a jednako koristan modul? Podelite svoja zapažanja u odeljku za komentare ili na našoj stranici na Fejzbuku!
Izvor: CreativeBloq