node script.js în Node.js

Rulare și linie de comandă Toate versiunile Node.js

Rulează un fișier JavaScript în terminal sau o bucată de cod dată direct în comandă (-e, -p).

Sintaxă
node [opțiuni] fișier.js [argumente]
node -e "cod"
node -p "expresie"

Ce face node script.js

Comanda node urmată de numele unui fișier citește fișierul și îl execută. Programul se termină singur când nu mai are nimic de făcut: nicio operație asincronă în așteptare, niciun server pornit, niciun temporizator activ.

Extensia decide cum este citit fișierul: .mjs înseamnă modul ES (import/export), .cjs înseamnă CommonJS (require), iar .js urmează câmpul "type" din cel mai apropiat package.json. Fără acest câmp, Node.js se uită la sintaxă: dacă fișierul folosește import, îl tratează ca modul ES.

Pentru o verificare rapidă nu ai nevoie de fișier: node -e "cod" rulează codul, iar node -p "expresie" îl rulează și afișează rezultatul. node --version (sau -v) arată versiunea instalată.

Parametri

Parametru Descriere
fișier.js Fișierul de rulat. Extensia poate lipsi doar la module CommonJS; pentru module ES scrie numele complet.
argumente Orice vine după numele fișierului ajunge în process.argv, nu este citit de Node.js.
-e, --eval "cod" Rulează codul dat ca text.
-p, --print "expresie" Ca -e, dar afișează valoarea expresiei.
-v, --version Afișează versiunea Node.js.
--check, -c Verifică doar sintaxa fișierului, fără să-l ruleze.

Ce returnează

Codul de ieșire al procesului: 0 dacă programul s-a terminat normal, 1 dacă a apărut o eroare neprinsă, altă valoare dacă programul a ales-o cu process.exit.

Exemple

Exemplul 1: Primul script

Salvează codul în salut.mjs și rulează node salut.mjs în terminal, în același director.

const oras = "Iași";
const temperaturi = [12, 15, 9];
const medie = temperaturi.reduce((s, t) => s + t, 0) / temperaturi.length;

console.log(`Temperatura medie la ${oras}: ${medie} °C`);
console.log("Rulez cu Node.js", process.versions.node.split(".")[0]);

Rezultat

Temperatura medie la Iași: 12 °C
Rulez cu Node.js 26

Exemplul 2: Cod direct în comandă: -e și -p

Util pentru calcule rapide sau ca să verifici ce face o funcție, fără să creezi un fișier.

node -e 'console.log(2 + 3)'
node -p '"Iași".toUpperCase()'
node -p 'process.versions.node'
node --version

Ieșire în terminal

5
IAȘI
26.8.1
v26.8.1

Greșeli frecvente

  • Rulezi node din alt director decât cel al fișierului: calea se interpretează față de directorul curent al terminalului, așa că primești Cannot find module. Mergi în director cu cd sau dă calea completă.
  • Folosești import într-un fișier .js dintr-un proiect cu "type": "commonjs": Node.js îl citește ca CommonJS și dă eroare de sintaxă. Redenumește fișierul în .mjs sau schimbă câmpul "type".
  • Te aștepți ca scriptul să se oprească după ultima linie, dar un server pornit sau un setInterval activ îl țin în viață. Oprește-l cu Ctrl+C sau închide resursele în cod.

Comenzi înrudite

  • node --watch: Repornește automat scriptul când salvezi fișierul sau unul dintre modulele importate, fără nodemon.
  • process.argv: Tabloul cu argumentele din linia de comandă: process.argv.slice(2) dă ce a scris utilizatorul după numele scriptului.
  • Module ES (import) și CommonJS (require): Cele două sisteme de module din Node.js: import/export (ES) și require/module.exports (CommonJS), și cum le combini.
  • REPL (consola node): Consola interactivă Node.js: scrii o expresie, vezi imediat rezultatul. Comenzi .help, .editor, .load, .exit.
  • package.json: Fișierul de configurare al unui proiect Node.js: nume, versiune, tipul modulelor, scripturi, dependențe și versiunea Node cerută.