2017-12-22 7 views
0

ノード& Expressを使用してサーバをセットアップしました。 GET /以外のすべてのルートが機能します。送信するファイルを表示するのではなく、常にindex.html(これもパブリックフォルダにあります)を表示します。 index.htmlの名前を変更したり削除したりすると、私のGET /ルーティングが機能します。index.htmlへの自動ルーティングを抑制する

const publicPath = path.join(__dirname, '../public'); 

app.use(express.static(publicPath)); 

app.get('/', (req, res) => { 
    res.sendFile(publicPath + '/login-register.html'); 
}); 

index.htmlの自動レンダリングを抑制する方法はありますか?

編集:私はコンソールやChrome開発ツールでエラーは発生しません。

答えて

2

これは、ディレクトリにindex.htmlファイルがあり、そのファイルをブラウザに送信したために、staticミドルウェアが/ルートに一致するためです。 /ルートが既に一致しているため、2番目のミドルウェア機能は実行されません。ミドルウェア関数の宣言の順序を切り替えると、期待通りに機能するはずです。

app.get('/', (req, res) => { 
    res.sendFile(publicPath + '/login-register.html'); 
}); 

app.use(express.static(publicPath)); 
関連する問題