Ho avuto lo stesso problema, quindi ecco cosa mi è venuto in mente.Questo è ciò che la mia struttura di cartelle sembrava quando mi sono imbattuto node server.js
app/
index.html
server.js
Dopo aver stampato il percorso __dirname
, mi sono reso conto che il percorso __dirname
era dove il mio server era in esecuzione (app/
).
Quindi, la risposta alla tua domanda è questa:
Se il file server.js
si trova nella stessa cartella dei file che si sta tentando di rendere, quindi
app.use(express.static(__dirname + '/default.htm'));
dovrebbe essere effettivamente
app.use(express.static(__dirname));
L'unica volta che si desidera utilizzare la sintassi originale che si ha d sarebbe se si ha una struttura di cartelle in questo modo:
app/
index.html
server.js
dove index.html
è nella directory app/
, mentre server.js
è nella directory principale (vale a dire allo stesso livello della directory app/
).
Nel complesso, il codice potrebbe simile:
var express = require('express');
var app = express();
app.use(express.static(__dirname));
app.listen(process.env.PORT);
Qualcuno delle risposte ti ha aiutato o hai risolto il problema in un altro modo? Si prega di condividere .. – knownasilya