Eroare aplicație Node.js – Prezentare generală
Acest articol descrie o eroare aplicație Node.js care poate apărea atunci când încercați să rulați o aplicație Node.js utilizând selectorul Node.js al cPanel.
Problemă
Creați o aplicație Node.js utilizând Selectorul Node.js al cPanel. Când încercați să vizualizați o pagină generată de aplicație, primiți următorul mesaj de eroare:
Cannot GET /url/
În acest mesaj de eroare, adresa URL reprezintă calea pe care încercați să o vizualizați.
Cauză
Selectorul Node.js folosește Phusion Passenger pentru a gestiona aplicațiile Node.js. Când creați o aplicație în selectorul Node.js, Passenger folosește valoarea din caseta de text URL aplicație pentru a crea calea rădăcină. De exemplu, dacă caseta de text URL aplicație este setată la myapp, atunci calea rădăcină a aplicației nu este „/”, ci „/ myapp”.
Rezolvare
Pentru a rezolva această problemă, trebuie să includeți adresa URL a aplicației în rutele dvs. Următorul exemplu de cod arată cum se face acest lucru folosind popularul cadru de aplicații web Express. Se presupune că caseta de text URL aplicație din selectorul Node.js al cPanel este setată la myapp:
const express = require('express'); const app = express(); app.get('/myapp/', function(req, res){ res.send("Hello from the root application URL"); }); app.get('/myapp/test/', function(req, res){ res.send("Hello from the 'test' URL"); }); app.listen(0, () => console.log('Application is running'));
În acest eșantion de cod, sunt definite două rute, /myapp și /myapp/test. Dacă numele dvs. de domeniu este exemplu.ro și utilizați browserul dvs. pentru a vizualiza https://exemplu.ro/myapp sau https://exemplu.ro/myapp/test, paginile se încarcă conform așteptărilor. Cu toate acestea, dacă vizitați orice altă adresă URL sub https://exemplu.ro/myapp, primiți mesajul de eroare al aplicației Node.js – Nu se poate obține url.