Ich habe NodeJs und npm installiert (Linux) und übersetze damit JavaScript Code.
Das bezweifle ich etwas
Also Du solltest Dir überlegen, was Du genau mit welcher Sprache machen willst. Wenn Du eine Anwendung schreiben willst, die in einem Webbrowser laufen soll, dann ist hier HTML, CSS und JavaScript eine übliche Wahl. Damit kannst Du dann den Client Part gut erledigen. Diese Client Software kann prinzipiell auch mit Daten umgehen - die sind dann aber auch nur lokal. Dazu brauchst du dann also auch gar keinen Server.
EIn Beispiel, wo man dies sehen kann, wäre z.B. die OpenAPI / Swagger Anwendung. Die kann man einfach herunter laden und dann mit Doppelklick auf die entsprechende Datei starten. (Sprich: Du kannst z.B. eine html Seite doppelklicken und die wird dann im Browser geöffnet. Diese lädt dann auch diverse andere Dateien nach bei Bedarf...
Wenn Du nun aber auch Daten haben willst, die zentral gespeichert werden, dann brauchst Du einen Server, auf dem dies läuft. Damit hast Du also eine andere, zusätzliche Software, die Du in einer beliebigen Sprache entwickeln kannst. So hast Du PHP genannt. Das wäre eine Script-Sprache, die sich in einen Webserver integrieren lässt.
Das kann aber auch Java sein - und da nutzt Du dann entweder einen Application Server (Das ist dann ein eigenständiger Server für spezielle Java Anwendungen) ähnlich wie der Webserver, den Du derzeit hast. Oder eben Du schreibst eine eigenständige Java Anwendung, mit der der Webbrowser dann kommunizieren kann (Das ist dann bei Frameworks wie Spring Boot oder Quarkus der Fall).
So gibt es für fast jede Programmiersprache auch die Möglichkeit, einen Server zu erstellen. So auch für JavaScript.
JavaScript ist aber eine Scriptsprache. Du brauchst also etwas, das diese Scripte lädt und dann ausführt. Das ist dann die JavaScript-Engine in dem Webbrowser. So standalone gibt es aber auch nodejs - das ist eine Laufzeitumgebung für JavaScript. Mit Node.js kannst Du also ein JavaScript Programm ausführen. Du hast auch NPM erwähnt, das ist der Node Package Manager. Für JavaScript gibt es sehr viele Pakete, die man nutzen kann. Diese kann man mit einbinden. Das kann man entweder manuell machen oder man nutzt einen Manager für die Abhängigkeiten. So ein Paket Manager ist npm und dieser verwaltet die Abhängigkeiten und lädt diese automatisch herunter und so.
Das NPM selbst kann also auch hilfreich sein für reine client seitige Software. Da nutzt Du dann ggf. nicht selbst die node Runtime aber deine Abhängigkeiten verwaltest Du per npm.
Wenn Du mit einem Server in JavaScript herum spielen willst, dann gibt es da viele Einführungen und Beispiele. Einfach einmal ein paar Links für Dich:
offizielle DOku:
https://nodejs.org/docs/latest/api/
Mit Node.js schreiben Sie Server-Anwendungen in der beliebten Skriptsprache JavaScript und profitieren von einer asynchronen, eventgesteuerten Architektur.
www.ionos.de
Z.B: HTML/CSS (Design) + Node + Datenbank(MySql oder MariaDB). Allerdings weiß ich nicht, ob überhaupt Node mit MariaDB arbeitet ? Ich melde mich später, wenn ich mit JavaScript + PHP richtig fit bin.
Ich habe mir eigentlich gedacht, Node + Datenbank zu verstehen, erspare ich mir PHP zu lernen, oder denke ich komplett falsch ???
Bitte unterscheide wirklich zwischen Client (Webbrowser) und Server ... Auf Clientseite hast Du weder Node noch Datenbank.
Wenn Du PHP machen willst, dann brauchst Du da keinerlei Node (ausser maximal zur Verwaltung der Abhängigkeiten. Das macht Sinn wenn Du ein Framework wir React, Angular, ... nutzen willst aber selbst einfachen Abhängigkeiten, die man ggf, einfach verlinken könnte, kann man so verwalten wenn man wollte ...
Du hast dann auf der Server Seite nur PHP und das greift dann ggf. auf eine Datenbank zu.