NodeJS

Ställa in nod.js utvecklingsmiljö

Ställa in nod.js utvecklingsmiljö
Du kan alltid installera Node.js på din dator och kör Node.js applikationer där. Men det finns situationer där du vill använda Docker för att göra din nod.js utveckling.

Låt oss till exempel säga att du inte vill installera Node.js på din dator och vill fortfarande utveckla Node.js-applikationer eller testa en befintlig. I så fall kan du helt enkelt använda en nod.js Docker-behållare.

Ett annat exempel är var du behöver testa din nod.js-applikation på olika versioner av Node.js. I så fall kan du använda olika noder.js Docker-containrar med annan version av Node.js installerat för att testa din applikation.

I den här artikeln visar jag dig hur du ställer in Node.js utvecklingsmiljö med Docker. Så, låt oss komma igång.

Ställa in projektkatalog:

I det här avsnittet kommer jag att klona en av mina noder.js API-app från GitHub till min ~ / Projekt / katalog bara för att testa Docker Node.js utvecklingsmiljö Jag ska visa dig hur du ställer in. Detta krävs inte. Du kan alltid använda din egen nod.js app om du vill.

Först ska jag navigera till min ~ / Projekt / katalog enligt följande:

$ cd ~ / Projekt /

Nu ska jag klona min shovon8 / vinkel-hjälte-api GitHub-arkivet enligt följande:

$ git-klon https: // github.com / shovon8 / angular-hero-api

Projektfilerna kommer att finnas i vinkel-hjälte-api / katalog som du kan se på skärmdumpen nedan.

Nod.js Docker-bilder:

Det finns officiella containerbilder för olika versioner av Node.js byggt ovanpå olika Linux-distributioner på DockerHub. Besök https: // hub.hamnarbetare.com / _ / node / från din favoritwebbläsare för att hitta noden.js-bild du behöver. Som du kan se taggnamnet för alla noder.js-bilder listas på DockerHub-sidan i Node.js. Du kan antingen använda Debian Jessie / Stretch, Alpine, ChakraCore Linux-distributionsbaserade bilder för olika versioner av Node.js.

Vanligtvis behöver du inte veta mycket för att använda en nod.js Docker-bild. Om du vill använda Node.js version 12, då är allt du behöver göra att skriva nod: 12 när du gör en container. För nod.js 10, det är det nod: 10. För nod.js 8, det är det nod: 8. Det är så enkelt.

Konfigurera noden.js utvecklingsmiljö:

I det här avsnittet ska jag konfigurera Linux-kommandialias för min nod.js API-app. På det sättet kan jag enkelt använda vilken version av Node som helst.js Jag vill köra min app.

I var och en av mina noder.js projektkatalog kommer jag att skapa en ny fil källa. I den filen kommer jag att behålla kommandot alias som nod12 för Node.js 12 körtid, nod10 för Node.js 10 körtid, nod8 för Node.js 8 körtid på Docker. Du kan återanvända detsamma källa fil med liten modifiering på din andra nod.js-projekt också.

Navigera först till din projektkatalog enligt följande:

$ cd angular-hero-api /

Skapa nu en källa fil med följande kommando:

$ nano-källa

Skriv nu in följande rader i källfilen.

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

Här, -Det betyder, kör behållaren i interaktivt läge.

-rm innebär att du tar bort behållaren automatiskt när den inte längre behövs.

-namn hjälte-api definierar ett namn för behållaren.

-s 4242: 4242 betyder containerporten 4242 vidarebefordras till destinationsporten (på din dator) 4242. Formatet för detta alternativ är -p destination: källa. Kom ihåg att den första porten före kolon (:) är destinationsporten. Om du vill komma åt din applikation på någon annan port än 4242 på din dator måste du ändra destinationsporten. Om dina applikationer körs på någon annan port än 4242. Då måste du ändra källporten.

NOTERA: Eftersom jag bara kommer att använda en av behållarna åt gången, namn och destinationshamn kan vara densamma. Om du vill köra eller testa din nod.js-applikation på flera noder.js version samtidigt, se till att namn och destinationshamn är olika för var och en av behållarna i källfilen.

När du är klar sparar du filen genom att trycka på + x följd av y och .

Aktivera nu aliaserna med följande kommando:

$ källkälla

Nu kan du köra vilken version av noden som helst när du behöver med nod12, nod10, nod8 kommandon som du kan se på skärmdumpen nedan.

Kör Hero API-nod.js App:

Låt oss nu se hur man kör vinkel-hjälte-api app från mitt GitHub-arkiv med den här inställningen. Jag ska använda Node.js 12 runtime först, gå sedan till Node.js 10 och Node.js 8 körtid för att visa att den fungerar i var och en av versionerna.

API-appen har inga nodmoduler installerade. Så du måste installera alla nödvändiga nodmoduler med npm installera kommandot enligt följande:

$ node12 npm installation

Nodmodulerna är installerade som du kan se på skärmdumpen nedan.

Kör nu noden.js API-app enligt följande:

$ node12 npm körtest

Som du kan se körs API-servern på port 4242 på behållaren. Jag vidarebefordrade också porten till 4242 på min dator. Så jag borde kunna komma åt den på port 4242.

Ja, jag kan komma åt den. Det fungerar som förväntat.

Stoppa nu behållaren genom att trycka på + c.

Låt oss försöka köra API-appen med Node.js version 10.

$ node10 npm körtest

Som du kan se är det igång.

Det fungerar för Node.js 10 också.

Slutligen, låt oss försöka för Node.js version 8.

$ node8 npm körtest

API-appen körs på Node.js 8 körtid också.

Perfekt! Det fungerar korrekt.

Så det är så du ställer in Node.js utvecklingsmiljö med Docker. Tack för att du läste den här artikeln.

Hur man använder AutoKey för att automatisera Linux-spel
AutoKey är ett verktyg för desktopautomatisering för Linux och X11, programmerat i Python 3, GTK och Qt. Med hjälp av dess skript och MACRO-funktional...
Hur man visar FPS-räknare i Linux-spel
Linux-spel fick ett stort tryck när Valve tillkännagav Linux-stöd för Steam-klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit ...
Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...