NodeJS

Opsætning af node.js Udviklingsmiljø

Opsætning af node.js Udviklingsmiljø
Du kan altid installere Node.js på din computer og kør Node.js applikationer der. Men der er situationer, hvor du vil bruge Docker til at lave din node.js udvikling.

Lad os for eksempel sige, at du ikke vil installere Node.js på din computer og vil stadig udvikle Node.js applikationer eller teste en eksisterende. I så fald kan du blot bruge en node.js Docker-container.

Et andet eksempel er, hvor du skal teste din node.js-applikation på forskellige versioner af Node.js. I så fald kan du bruge en anden node.js Docker-containere med anden version af Node.js installeret til at teste din applikation.

I denne artikel vil jeg vise dig, hvordan du konfigurerer Node.js udviklingsmiljø ved hjælp af Docker. Så lad os komme i gang.

Opsætning af projektmappe:

I dette afsnit vil jeg klone en af ​​min node.js API-app fra GitHub til min ~ / Projekter / bibliotek kun til test af Docker Node.js udviklingsmiljø Jeg er ved at vise dig, hvordan du opsætter. Dette er ikke nødvendigt. Du kan altid bruge din egen node.js app, hvis du vil.

Først skal jeg navigere til min ~ / Projekter / katalog som følger:

$ cd ~ / Projekter /

Nu skal jeg klone min shovon8 / vinkel-hero-api GitHub-arkivet som følger:

$ git klon https: // github.com / shovon8 / vinkel-helt-api

Projektfilerne vil være i vinkel-helt-api / katalog som du kan se på skærmbilledet nedenfor.

Node.js Docker-billeder:

Der er officielle containerbilleder til forskellige versioner af Node.js bygget oven på forskellige Linux-distributioner på DockerHub. Besøg https: // hub.docker.com / _ / node / fra din yndlingsbrowser for at finde noden.js-billede, du har brug for. Som du kan se, tagnavnet for alle knudepunkter.js-billeder er angivet på DockerHub-siden i Node.js. Du kan enten bruge Debian Jessie / Stretch, Alpine, ChakraCore Linux-distributionsbaserede billeder til forskellige versioner af Node.js.

Normalt behøver du ikke vide meget for at bruge en node.js Docker-billede. Hvis du vil bruge Node.js version 12, så alt hvad du skal gøre er at skrive knude: 12 når du laver en container. Til knude.js 10, det er det knude: 10. Til knude.js 8, det er det knude: 8. Det er så simpelt.

Konfiguration af noden.js Udviklingsmiljø:

I dette afsnit vil jeg konfigurere Linux-kommandealiaser til min node.js API-app. På den måde kan jeg nemt bruge enhver version af Node.js Jeg vil køre min app.

I hver af mine knuder.js projektmappe opretter jeg en ny fil kilde. I den fil vil jeg beholde kommandoaliaserne som node12 for Node.js 12 runtime, node10 for Node.js 10 runtime, node8 for Node.js 8 runtime kører på Docker. Du kan genbruge det samme kilde fil med let ændring på din anden node.js projekter også.

Naviger først til din projektmappe som følger:

$ cd angular-hero-api /

Opret nu en kilde fil med følgende kommando:

$ nano kilde

Indtast nu de følgende linjer i kildefilen.

alias node12 = 'docker run -it --rm --name hero-api -p 4242: 4242 -v
"$ PWD: / usr / src / app" -w / usr / src / app node: 12 '
alias node10 = 'docker run -it --rm --name hero-api -p 4242: 4242 -v
"$ PWD: / usr / src / app" -w / usr / src / app node: 10 '
alias node8 = 'docker run -it --rm --name hero-api -p 4242: 4242 -v
"$ PWD: / usr / src / app" -w / usr / src / app node: 8 '

Her, -det betyder, kør containeren i interaktiv tilstand.

-rm betyder at fjerne containeren automatisk, når den ikke længere er nødvendig.

-navn helt-api definerer et navn til containeren.

-s 4242: 4242 betyder containerporten 4242 videresendes til destinationsporten (på din computer) 4242. Formatet for denne indstilling er -p destination: kilde. Husk, den første port før kolon (:) er destinationsporten. Hvis du vil få adgang til din applikation på en anden port end 4242 på din computer, skal du ændre destinationsporten. Hvis dine applikationer kører på en anden port end 4242. Derefter skal du ændre kildeporten.

BEMÆRK: Da jeg kun vil bruge en af ​​containerne ad gangen, er navn og Destinationshavn kan være det samme. Hvis du ønsker at køre eller teste din node.js-applikation på flere knuder.js version på samme tid, så sørg for, at navn og Destinationshavn er forskellig for hver af containerne i kildefilen.

Når du er færdig, skal du gemme filen ved at trykke på + x efterfulgt af y og .

Aktiver nu aliaserne med følgende kommando:

$ kilde kilde

Nu kan du køre en hvilken som helst version af node-runtime, når du har brug for det med node12, node10, node8 kommandoer som du kan se på skærmbilledet nedenfor.

Kører Hero API-node.js App:

Lad os nu se, hvordan man kører vinkel-helt-api app fra mit GitHub-lager med denne opsætning. Jeg skal bruge Node.js 12 runtime først, gå derefter til Node.js 10 og Node.js 8 runtime for at vise dig, at det fungerer i hver af versionerne.

API-appen har ingen nodemoduler installeret. Så du skal installere alle de nødvendige nodemoduler med npm installation kommando som følger:

$ node12 npm installation

Knudemodulerne er installeret som du kan se i skærmbilledet nedenfor.

Kør nu noden.js API-app som følger:

$ node12 npm-kørselstest

Som du kan se, kører API-serveren på port 4242 på containeren. Jeg sendte også porten til 4242 på min computer. Så jeg skulle være i stand til at få adgang til det på port 4242.

Ja, jeg kan få adgang til det. Det fungerer som forventet.

Stop nu beholderen ved at trykke på + c.

Lad os prøve at køre API-appen med Node.js version 10.

$ node10 npm kørselstest

Som du kan se, kører det.

Det fungerer for Node.js 10 også.

Lad os endelig prøve Node.js version 8.

$ node8 npm køre test

API-appen kører på Node.js 8 runtime også.

Perfekt! Det fungerer korrekt.

Så det er sådan, du konfigurerer Node.js udviklingsmiljø ved hjælp af Docker. Tak, fordi du læste denne artikel.

Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...
Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...
Installer det nyeste OpenRA-strategispil på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spilmotor, der genskaber de tidlige Westwood-spil som det klassiske Command & Conquer: Red Alert. Distrib...