Miałem ten sam problem, więc oto, co wymyśliłem.To właśnie moja struktura folderów wyglądało kiedy wpadłem node server.js
app/
index.html
server.js
Po wydrukowaniu ścieżkę __dirname
, zdałem sobie sprawę, że droga __dirname
gdzie był mój serwer został uruchomiony (app/
).
Więc odpowiedź na pytanie brzmi:
Jeśli plik server.js
jest w tym samym folderze co pliki, które starają się uczynić, to
app.use(express.static(__dirname + '/default.htm'));
powinny być rzeczywiście
app.use(express.static(__dirname));
Jedyny raz, kiedy chcesz użyć oryginalnej składni, którą masz d byłoby gdybyś miał drzewo folderów tak:
app/
index.html
server.js
gdzie index.html
znajduje się w katalogu app/
, natomiast server.js
znajduje się w katalogu głównym (tj na tym samym poziomie co katalog app/
).
Ogólnie, kod mógłby wyglądać następująco:
var express = require('express');
var app = express();
app.use(express.static(__dirname));
app.listen(process.env.PORT);
Czy któraś z odpowiedzi pomogła Ci, czy też rozwiązałeś swój problem w inny sposób? Proszę udostępnić .. – knownasilya