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 nämligen kunna en hel del mer innan vi gör vår första riktiga webbapplikation med Node.

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 och i den skriver du helt enkelt ”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.

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.

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. 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. Om vi skickade med några flaggor till Node, så kommer dessa inte att visas. 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.

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.

Självklart kan man göra mer nyttiga och vettiga program på detta vis. 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 NPM för att utöka Node med mer funktionalitet. Utöka Node med NPM