Komme i gang med Node.js og Geddy

I denne tredelte opplæringsserien vil vi dykke dypt inn i prosessen med å lage en gjøremålsliste-app i Node.js og Geddy fra scratch. I denne innledende artikkelen vurderer vi hvordan du installerer Node.js på Windows og OS X, får Geddy installert og genererer vår første app. Klar?


Hva er Node?

Hvis du har utviklet webapps de siste par årene, er du sannsynligvis allerede kjent med Node.js, men la oss gå over det - bare hvis du er ny på scenen.

Node.js er en plattform bygget på Chromes JavaScript runtime for enkelt å bygge applikasjoner i JavaScript som kjører på serveren. Node.js bruker en hendelsesdrevet, ikke-blokkerende I / O-modell, noe som gjør den perfekt til å bygge sanntidsapps.


Hva er Geddy?

Geddy burde føle seg veldig kjent for deg.

Geddy er et enkelt og strukturert rammeverk for MVC (modell, visning, kontroller) for Node.js. Du kan bruke den til å raskt lage webapps og JSON APIer. Hvis du har gjort noe arbeid med Ruby on Rails eller PHPs CodeIgniter, bør Geddy føle deg veldig kjent med deg; den har en avslappende router, malgengivelse, kontroller og modeller.


Installere Node.js

Node.js kjører på Windows, OS X og Linux. Jeg skal vise deg hvordan du får oppsett på både Windows og OS X. Hvis du er på Linux, antar jeg at du har Node installert, vet hvordan du får det installert, eller kjenner noen som kan hjelpe deg med prosessen.

Gå først til http://nodejs.org og klikk på nedlastningsknappen. Finn installasjonslenken for operativsystemet, og last den ned. Følg installeringsprompten for å bli installert. Hvis du er på Windows, må du kanskje starte datamaskinen på nytt for å få kommandoen "node" på banen din.

Du bør nå ha både Node og npm (Node Package Manager) installert.


Installere Geddy med npm

Node har en flott pakkeadministrator bygget rett inn. Det kalles npm, og med denne skrivingen er det nesten 8000 pakker tilgjengelig. Sjekk ut http://toolbox.no.de for å bla gjennom dem hvis du vil. For denne opplæringen vil vi imidlertid bruke npm til å installere Geddy (vårt rammeverk) og Jake (byggverktøyet som Geddy bruker):

Jake er et JavaScript-byggeprogram for Node.js.

  • Åpne opp terminalen din
  • type npm installere -g geddy jake

Det er det! Nå som du har installert Geddy, la oss se om å generere din første app.


Genererer en Geddy App

Geddy bruker en global kjørbar for å generere apps / ressurser, og å starte opp appserveren. Dette vil alle finne sted på kommandolinjen, så åpner du terminalen igjen. Før vi genererer vår app, la oss cd til et bra sted for å lagre appen din. Dette kan være hvor som helst på maskinen din, men jeg foretrekker å gjøre utviklingen min i min ~ / Dev / katalog.

CD-sti / til / sted / du / kode

Deretter bruker vi Geddy å generere vår app struktur. Vi skal opprette et gjøremålsprogram, så vi ringer vår, todo_app

geddy app todo_app

Ferdig. Nå, hva gjorde det for oss?


En oversikt over vår genererte app

Hvis du ser på det nyopprettede todo_app katalog, vil du se at Geddy har generert en god del kode for deg. Din katalogstruktur bør se litt ut som dette:

  • app /
    • kontrollere /
    • modeller /
    • visninger /
  • config /
  • lib /
  • Logg/
  • node_modules /
  • offentlig/

La oss gå gjennom disse ene etter en:

app: Her er hvor det meste av magien skjer. Det meste av appens logikk vil bli plassert i en av de tre katalogene som finnes i denne.

app / kontrollører: Alle appens kontrollere (den delen som knytter modellene dine til visningene dine) går her. Du vil også legge merke til at det allerede er to kontrollerfiler der inne: application.js (som alle kontrollører arver fra) og main.js (kontrolleren som knytter deg til / rute til din app / visninger / main / index.html.ejs mal).

app / modeller: Her er hvor du lagrer modellene dine - det er ingenting der ennå, men vi legger til en i under neste opplæringsveiledning.

app / visninger: Alle appens maler lagres her. For nå ser du at du har en application.html.ejs fil i oppsett katalog - denne filen er hovedmalen for appen din, og all din forside-wrapper-kode skal gå inn her. Du bør også ha en index.html.ejs fil i hoved- katalogen. Dette er hva som blir gjort av hovedkontrollerens index handling når du treffer / rute.

config: Konfigurasjonsfilene for appen din går her. Du burde ha development.js, production.js, environment.js, router.js og init.js filer der inne. De init.js fil er en fil som kjører like etter at appen kommer i gang, før noen forespørsler kommer inn. Dette kan brukes til å legge til funksjoner og egenskaper som må være app-wide. Den router.js filen brukes til å lage ruter for søknaden din. Ruter binder nettadresser til kontrollerhandlinger. For globale innstillinger, vil du redigere environment.js fil. For produksjons- og utviklingsinnstillinger, rediger de tilsvarende config-filene.

lib: Dette er stedet der du kan sette hvilken som helst fil som du vil bruke over hele appen din.

Logg: Alle dine logger blir lagret her. Du bør få en access.log, en stdout.log, og a stderr.log etter at du kjører appen din.

node_modules: Dette er hvor modulene du installerer, blir lagret. Tenk på det som en lib for andres kode.

offentlig: Til slutt, her er der alle dine fremre spesifikke ting vil leve. Alt du css-filer, bilder og front-end js-filer vil være her. Du vil merke at Twitter's bootstrap og jQuery kommer ferdigpakket med alle Geddy apps.


Starte opp din nye Geddy App

Nå som vi har generert en app, viser jeg hvordan du starter opp det. Først åpner du terminalen igjen, og navigerer til appens katalog:

cd ~ / bane / til / kode / todo_app

Når du er der, start appen ved å bruke Geddy kommando:

Geddy

Du bør se litt utdata som ser litt ut som dette:

Nå som vi har startet opp serveren, fortsett og sjekk den ut i nettleseren. Besøk http: // localhost: 4000, og ta en titt!

Bonus: Fordi Geddy bruker Bootstrap ut av boksen, med det responsive layoutet aktivert, vil vår app øyeblikkelig vise seg pent i en mobilbrowser. Endre størrelsen på nettleservinduet ditt for å bekrefte dette.


Det neste steget

Dette avsluttes første del av vår opplæringsserie på Node.js og Geddy. I det neste viser jeg hvordan å generere en å gjøre ressurs (som vil gi oss en bedre base for å bygge vår app på), og gå inn i detaljene for å bygge en ekte app med Geddy. Hvis du har spørsmål, vær så snill å legge igjen en kommentar her eller åpne et problem på GitHub. Følg med!