Node - våra första program

Från Webbling
Hoppa till: navigering, sök

För enkelhetens skull ska vi först av allt skriva en minimal node-applikation som enbart ska köras lokalt på vår dator och som startas ifrån kommandoraden. Vi behöver lära oss en del mer innan vi kan skapa vår första riktiga webbapplikation med Node.

Skriva in kod direkt

Se till att du har Node installerat och att det fungerar som det ska på ditt system. Prova att gå in på kommandoraden på ditt system. I den skriver du ”node”. Du bör då hamna i Node och se en kommandoprompt ”> ”. Här kan du skriva in JavaScript-kommandon som Node kommer att köra åt dig. Prova att skriva följande:

console.log(Hello World!);

Node bör då svara genom att skriva ut ”Hello World!”. Du har därmed kört din första kodrad i Node.

Avsluta Node genom att trycka ctrl-d. Då kommer du tillbaka till din kommandorad.

Köra kod ifrån en fil

När man startar Node så anger man vanligtvis vilken fil som innehåller den programkod som ska köras. Vi ska skapa ett minimalt program. Det gör vi genom att i en texteditor skapa en fil. Vi kallar filen för hello.js och i den lägger vi till följande:

console.log(Hello World);

Spara och prova att köra det hela genom att skriva följande på kommandoraden:

node hello.js

Vi får förstås samma resultat som när vi lite tidigare skrev in koden direkt i Node.

Att skicka med parametrar

Vi testar vidare... När man kör igång Node, så kan man även ange parametrar som ska skickas med till programmet. Vi ska testa hur det fungerar. Skapa en fil som heter parametrar.js och skriv in följande i den:

process.argv.forEach( 
	function(val, index, array) {
		console.log(index +  :  + val);
	}
);

Spara och provkör så här:

node parametrar.js hejsan svejsan

Programmet bör skriva ut något i stil med:

0 : node
1 : /home/pgj/parametrar.js
2 : hejsan
3 : svejsan

process.argv är alltså en array som innehåller det vi skrev in på vår kommandorad. Först, som 0, kommer Node (om vi skickade med några flaggor till Node, så kommer dessa inte att visas). Därefter följer namnet filen som innehåller vår kod. Sist så kommer varje ord som vi skrivit på raden, ett efter ett. Vi kan alltså ”kommunicera” med Node genom att skicka in parametrar till det. Detta möjliggör att vi kan skapa små utility-scripts som kan köras i kommandoprompten.

Ett kort script-exempel

Skapa en ny fil som heter ”produkt.js” och skriv in följande i den:

if( process.argv.length < 3 ) {
	console.log(Skicka med ett antal tal som ska multipliceras.);
} else {
	var produkt = process.argv[2];

	for(var i = 3; i <  process.argv.length; i++ ) {
		produkt *= process.argv[i];
	}
	console.log(Produkten av dina tal blir  + produkt);
}

Provkör nu skriptet genom att skriva något i stil med:

node produkt.js 1 2 3 4 5

Som svar bör du få 120.

Vi går snabbt igenom vad koden gör.

Först kollar vi så att man verkligen har skrivit in några siffror som vi ska multiplicera. Om inte så skriver vi ut ett felmeddelande och avslutar.

Om där finns siffror, så går vi igenom dem en efter en och multiplicerar dem med varandra. När vi loop:at igenom alla siffror så skriver vi ut den slutgiltiga produkten. Den här simpla koden kollar inte så det verkligen är siffror som vi angivit.

Självklart kan man göra mer nyttiga och vettiga program. Det är ett utmärkt sätt att automatisera smågrejor som du vill utföra.

Nästa aktivitet

I nästa aktivitet ska vi titta på hur man kan använda npmför att utöka Node med mer funktionalitet.

Node - npm, Node Packet Manager