NodeJS

Sette opp node.js Utviklingsmiljø

Sette opp node.js Utviklingsmiljø
Du kan alltid installere Node.js på datamaskinen din og kjør Node.js applikasjoner der. Men det er situasjoner der du vil bruke Docker til å gjøre din node.js utvikling.

La oss for eksempel si at du ikke vil installere Node.js på datamaskinen din og vil fremdeles utvikle Node.js applikasjoner eller teste en eksisterende. I så fall kan du bare bruke en node.js Docker-container.

Et annet eksempel er hvor du trenger å teste din Node.js-applikasjon på forskjellige versjoner av Node.js. I så fall kan du bruke annen node.js Docker-containere med annen versjon av Node.js installert for å teste applikasjonen din.

I denne artikkelen vil jeg vise deg hvordan du konfigurerer Node.js utviklingsmiljø ved hjelp av Docker. Så la oss komme i gang.

Sette opp prosjektkatalog:

I denne delen vil jeg klone en av nodene mine.js API-app fra GitHub til min ~ / Prosjekter / katalog bare for å teste Docker Node.js utviklingsmiljø Jeg er i ferd med å vise deg hvordan du konfigurerer. Dette er ikke nødvendig. Du kan alltid bruke din egen Node.js app hvis du vil.

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

$ cd ~ / Prosjekter /

Nå skal jeg klone min shovon8 / vinkel-helt-api GitHub-depot som følger:

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

Prosjektfilene vil være i vinkel-helt-api / katalog som du kan se på skjermbildet nedenfor.

Node.js Docker-bilder:

Det er offisielle containerbilder for annen versjon av Node.js bygget på toppen av forskjellige Linux-distribusjoner på DockerHub. Besøk https: // hub.docker.com / _ / node / fra favorittleseren din for å finne Node.js image du trenger. Som du kan se, kodenavnet for alle knutepunktene.js-bilder er oppført på DockerHub-siden i Node.js. Du kan enten bruke Debian Jessie / Stretch, Alpine, ChakraCore Linux distribusjonsbaserte bilder for forskjellige versjoner av Node.js.

Vanligvis trenger du ikke å vite mye for å bruke en node.js Docker-bilde. Hvis du vil bruke Node.js versjon 12, så er alt du trenger å gjøre å skrive node: 12 når du lager en container. For Node.js 10, det er det node: 10. For Node.js 8, det er det node: 8. Det er så enkelt.

Konfigurere noden.js utviklingsmiljø:

I denne delen skal jeg konfigurere Linux-aliaser for min node.js API-app. På den måten kan jeg enkelt bruke hvilken som helst versjon av Node.js Jeg vil kjøre appen min.

I hver av nodene mine.js prosjektkatalog, vil jeg opprette en ny fil kilde. I den filen vil jeg beholde kommandoaliasene som node12 for Node.js 12 kjøretid, node10 for Node.js 10 kjøretid, node8 for Node.js 8 kjøretid på Docker. Du kan gjenbruke det samme kilde fil med liten modifikasjon på den andre noden din.js prosjekter også.

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

$ cd angular-hero-api /

Lag nå en kilde fil med følgende kommando:

$ nano kilde

Skriv inn 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, -den betyr, kjør beholderen i interaktiv modus.

-rm betyr å fjerne beholderen automatisk når den ikke lenger er nødvendig.

-Navn helt-api definerer et navn på containeren.

-s 4242: 4242 betyr containerporten 4242 blir videresendt til destinasjonsporten (på datamaskinen din) 4242. Formatet for dette alternativet er -p destinasjon: kilde. Husk at den første porten før kolon (:) er destinasjonsporten. Hvis du vil få tilgang til applikasjonen din på en annen port enn 4242 på datamaskinen din, må du endre destinasjonsporten. Hvis applikasjonene kjører på en annen port enn 4242. Da må du endre kildeporten.

MERK: Siden jeg bare vil bruke en av containerne til enhver tid, er Navn og destinasjonsport kan være det samme. Hvis du ønsker å kjøre eller teste din Node.js-applikasjon på flere noder.js-versjon samtidig, så sørg for at Navn og destinasjonsport er forskjellig for hver av containerne i kildefilen.

Når du er ferdig, lagrer du filen ved å trykke på + x etterfulgt av y og .

Aktiver nå aliasene med følgende kommando:

$ kilde kilde

Nå kan du kjøre hvilken som helst versjon av node-kjøretid når du trenger det node12, node10, node8 kommandoer som du kan se på skjermbildet nedenfor.

Kjører Hero API-node.js App:

La oss nå se hvordan du kjører vinkel-helt-api app fra GitHub-depotet mitt med dette oppsettet. Jeg skal bruke Node.js 12 kjøretid først, deretter går du til Node.js 10 og Node.js 8 kjøretid for å vise deg at den fungerer i hver av versjonene.

API-appen har ingen nodemoduler installert. Så du må installere alle nødvendige nodemoduler med npm installere kommandoen som følger:

$ node12 npm installasjon

Nodemodulene er installert som du kan se på skjermbildet nedenfor.

Kjør nå Node.js API-app som følger:

$ node12 npm run test

Som du kan se, kjører API-serveren på port 4242 på containeren. Jeg videresendte også porten til 4242 på datamaskinen min. Så jeg burde kunne få tilgang til den på port 4242.

Ja, jeg får tilgang til det. Det fungerer som forventet.

Stopp nå beholderen ved å trykke på + c.

La oss prøve å kjøre API-appen med Node.js versjon 10.

$ node10 npm kjørtest

Som du ser, kjører den.

Det fungerer for Node.js 10 også.

Til slutt, la oss prøve Node.js versjon 8.

$ node8 npm run test

API-appen kjører på Node.js 8 kjøretid også.

Perfekt! Det fungerer riktig.

Så det er slik du setter opp Node.js utviklingsmiljø ved hjelp av Docker. Takk for at du leser denne artikkelen.

Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...
Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...