3

2 つのルートを一致させる必要があります。

このルートの意味は何/*ですか?. のようなルートを意味しhttp://localhost:3000/#/ますか?

ルートチェック。

ルートが /login または /register などの場合は、最初にヒットするよりもそうでない場合は /*

1 - /login または /register のようなルート

app.get('What Here', function(req, res){
    res.redirect(req.url);
})

2 - / のようなルート

app.get('/*', function(req, res){
    res.redirect('/');
})
4

1 に答える 1

4

行き方は以下の通りです。

app.get('/login', function (req, res) {
    //login user
});

レジスターについては、似たようなもの

app.get('/register', function (req, res) {
    //register user
});

最後に、他のすべてについては、次のことを行うだけです。

app.get(/^\/(.*)/, function (req, res) {
    //everything else
});

明らかに、最後のルート定義の前に最初の 2 つのルート定義を配置する必要があります。

詳細については、Node.js でルートを整理するをご覧ください。

EDIT:あなたのコメントによると、これらの各ルートで「多くのページ」を処理したいと仮定すると、次のことができます:

app.get('/login/:id', function (req, res) {
    //login user with id = id
    //The value of id = req.params.id
});

それ以外に、「/login/」で始まるルートを処理するには、次の正規表現を試してください。

app.get(/^\/login\/(.*)/, function (req, res) {
    //handles route like '/login/wefnwe334'
});
于 2013-06-08T13:31:47.360 に答える