opdateret: 16.januar 2019
Lær ved at gøre
min foretrukne måde at lære er at lære ved at gøre. Jeg kan læse og se ting hele dagen, men indtil jeg kommer ned og beskidt med koden, synker den ikke rigtig ind. En god måde at lære ved at gøre er at opbygge en app, så det er det, vi skal gøre!
det vil ikke være et overblik på højt niveau, der forklarer alt, hvad der sker. Det er mere en gennemgang for dem, der har en vis fortrolighed med eliksir og Føniks, men som endnu ikke har bygget deres første app. Jeg bruger Føniks 1.4 og eliksir 1.8 til denne tutorial.
funktionaliteten vil være enkel. Du kan oprette en konto. Du kan søge og se videoer. Du kan tilføje nye videoer. Der vil være nogle kompleksiteter som at få oplysninger fra YouTube API til at tilføje videoer og bruge medvind CSS i stedet for standard Milligram (Milligram erstattet Bootstrap i Føniks 1.4). Men da jeg allerede har gennemgået besværet med at bekæmpe koden for at få tingene til at fungere, skal alt gå glat for dig.
Lad mig vide, hvis du sidder fast på noget tidspunkt, og jeg vil være glad for at hjælpe dig ud. Lad os komme i gang!
BEMÆRK: Hvis du sidder fast på noget tidspunkt, kan du give mig en kommentar eller tjekke repoen på GitHub. Hver del har sin egen gren og vil blive forbundet i begyndelsen med (GitHub). Der vil også være commit hashes hele vejen igennem, så du kan se, hvad der blev gjort for et bestemt afsnit. De vil se ud som nedenstående (70ea207). Hvis de er i en underposition, forpligtelsen vedrører hele dette afsnit. Ellers deles forpligtelsen i slutningen af den relevante tekst.
Generer appen (70ea207) (GitHub)
Vi skal bygge Catcasts. Det vil være et sted at dele dine foretrukne YouTube-kattevideoer. Brugeren oprettes ved at logge ind med Google. Videoerne oprettes ved at sende en URL til YouTube API og få oplysningerne tilbage. Disse oplysninger vil blive brugt til at oprette en side med videoen indlejret.
Hvis du ikke allerede har installeret eliksir og Føniks, kan du følge Eliksirguiden og Føniks-guiden. Nu antager, at det er gjort, tid til at oprette vores app. Vi kører mix phx.new catcasts
for at generere vores app, og når den spørger “Hent og installer afhængigheder? “vi vil sige “y”.
Opsæt Postgres (975847b)
i slutningen af vores app, der genereres, får vi nogle nyttige instruktioner om, hvad vi skal gøre næste.
det første, vi skal gøre, når vi kører cd catcasts
og før vi kører mix ecto.create
er konfigurere vores database. Afhængigt af hvordan du har din lokale Postgres-opsætning, er der en god chance for dit lokale miljø brugernavnet er dit hjemmekatalog (for mig ville det være thebrianemory), og dit adgangskodefelt er tomt. Lad os åbne vores config/dev.exs
fil og konfigurere vores database.
Bemærk: Hvis du ikke har Postgres konfigureret på din lokale maskine, har Heroku en nyttig guide til at få den konfigureret. Hvis du bruger hjemmebryggeri, kan du i stedet køre brew install postgresql
i kommandolinjen.
Du kan derefter køre mix ecto.create
, din app vil kompilere, og så vil du se den vidunderlige besked, “databasen til Catcasts.Repo er blevet oprettet.”På dette tidspunkt kan du køre mix phx.server
og besøge http://localhost:4000 for at se “velkommen til Føniks!”
BEMÆRK: Hvis du ser en meddelelse, der ligner “skal jeg installere armeringsjern3? (hvis du kører ikke-interaktivt, skal du bruge ” Bland lokalt.rebar-force”)”, gå videre og vælg”y”.
Vi har også tre tests, der blev oprettet med den app, der i øjeblikket passerer. For at se dem passere, skal vi først også opdatere vores databaseindstillinger i config/test.exs
.
Du kan nu køre testene ved hjælp af mix test
(din app vil kompilere, før du kører testene) og se den dejlige grønne tekst “3 tests, 0 fejl”.