Node.js

Wikipediasta
Siirry navigaatioon Siirry hakuun
Node.js
Kehittäjä OpenJS Foundation
Kehityshistoria
Vakaa versio 22.6.0 ()[1]
Tiedot
Alusta Linux, macOS, Solaris, FreeBSD, OpenBSD, Microsoft Windows, webOS, NonStop OS
Ohjelmointikielet C, C++, JavaScript
Lisenssi MIT
Aiheesta muualla
Verkkosivusto
Versiohallinta

Node.js on avoimen lähdekoodin alustariippumaton ajoympäristö JavaScript-koodin suorittamiseen palvelimella.[2] Perinteisesti JavaScriptiä on pääsääntöisesti käytetty siten, että JavaScript-koodi on ollut upotettuna verkkosivun HTML-koodiin ja se on suoritettu käyttäjän laitteessa, verkkoselaimen JavaScript-moottorilla. Node.js:ssa koodi suoritetaan palvelimella, jossa voidaan generoida verkkosivuja, jotka lähetetään käyttäjälle. Selaimen ulkopuolella suoritettaessa JavaScript ei kuitenkaan ole rajoittunut verkkosivujen generointiin, vaan Node.js:ää voi käyttää samoihin käyttötarkoitukseen kuin muitakin skriptikieliä. Node.js käyttää JavaScriptin suorittamiseen V8-JavaScript-moottoria.[2]

Node.js:n ohjelmointimalli on tapahtumankäsittelijä (event loop), joka välittää tietoa asynkronisesti.[3]

Ryan Dahl aloitti kehityksen vuonna 2009 ja ensimmäinen virallinen julkaisu (versio 0.10) tehtiin vuonna 2013. Sen jälkeen Node.js on noussut suureen suosioon. Vuonna 2017 ympäristöä käytettiin 450 000 verkkopalvelimella ja 3,5 miljoonaa kehittäjää työskenteli sen parissa.[4]

Node.js:llä on oma paketinhallintajärjestelmänsa npm eli Node Package Manager.[5]

Oheisessa hei maailma -esimerkissä ajetaan Node.js komentoriviltä. JavaScript-kielinen ohjelma annetaan --eval-parametrilla Nodelle suoritettavaksi.

$ node --eval='console.log("Hei maailma!");'
Hei maailma!

Ohjelman suorittaminen tiedostosta

[muokkaa | muokkaa wikitekstiä]

Esimerkissä tiedostoon hello.js on tallennettu yksinkertainen hei maailma -sovellus. Noden ainoaksi parametriksi annetaan suoritettavan tiedoston nimi.

$ node hello.js
Hei maailma!

Tiedoston lukeminen

[muokkaa | muokkaa wikitekstiä]

Node.js tarjoaa kehittäjille kirjastoja, jotka laajentavat JavaScriptin käyttömahdollisuuksia selaimen ulkopuolella. Oheisen esimerkin JavaScript-ohjelma lukee parametriksi annetun tiedoston tiedostojärjestelmästä ja tulostaa sen konsoliin.

// Otetaan käyttöön Noden fs-kirjasto tiedoston lukua varten
const fs = require('node:fs/promises');

// Tiedostonimi annetaan viimeisenä parametrinä
const filename = process.argv[process.argv.length - 1];

// Luetaan tiedosto
fs.readFile(filename, { encoding: 'utf8' })
  // Tulostetaan tiedoston rivit, kun tiedosto on luettu
  .then((data) => process.stdout.write(data));

Esimerkki ohjelman suorituksesta:

$ node read.js hello.js
console.log("Hei maailma!");
  1. Release 22.6.0, (viitattu ). Tieto on haettu Wikidatasta.
  2. a b Node.js nodejs.org. Viitattu 21.2.2018. (englanniksi)
  3. lauren orsini: What You Need To Know About Node.js ReadWrite. 7.11.2013. Viitattu 9.8.2023. (englanniksi)
  4. What exactly is Node.js and why should you use it? freeCodeCamp.org. 2.6.2017. Viitattu 9.8.2023. (englanniksi)
  5. Harry Spitzer: Ryan Dahl, Node.js Creator, Wants to Rebuild the Runtime of the Web Sequoia Capital. 9.2.2023. Viitattu 9.8.2023. (englanniksi)
Tämä ohjelmistoon liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.