2016-04-03 7 views
0

私はindex.htmlファイルを持っているし、あなたが見ることができるように、これはnodejsのindex.htmlの設定を削除するには?私のパブリックフォルダで

router.get('/', function (req, res, next) { 
    // res.send('index.html'); 
    if (req.user) 
     res.redirect('home'); 
    else 
     res.redirect('login'); 
}); 

、私はindex.htmlをファイルの食分をコメントアウトしているように私のルートハンドラはあるが、それでもインデックスを提供していますnodejsホームまたはログインにリダイレクトする代わりに、.htmlをパブリックディレクトリから削除します。 ただし、index.htmlファイルを削除または名前を変更すると、それは正常に動作します

だから、要求に応じてサービングインデックスファイルではなく、ルートハンドラを呼び出すようにnodejsを設定するにはどうすればよいですか?

答えて

1

これはapp.useの順序によるものであるが、以前にそれが

app.use('/', index); 
app.use(express.static(path.join(__dirname, 'public'))); 

の問題を解決するには、この変更を

app.use(express.static(path.join(__dirname, 'public'))); 
app.use('/', index); 

ました。

0

express.static() middlewareには、デフォルトのファイル名を変更できるようにするindexオプションが含まれています。

それとも、あなたの意図のために、完全に機能を無効にする:

app.use(express.static(path.join(__dirname, 'public'), { 
    index: false 
})); 
関連する問題