0

/review-{title}-{id} のようにルートを動的にしようとしていますが、理由がわからないエラーが発生します。また、ユーザーが間違ったパラメーターを入力した場合、それを処理する方法よりも. 私のクライアントの要件は上記のようなものです。私はノードが苦手で、上記のようなルートを作成する方法を誰か提案してください。また、この /review/:title/:id 形式のようなルートを作成する必要がある場合は、どうすればそのように作成できますか。

試していますが、404 ページにリダイレクトされます。

server.js内の既存のコードの詳細を見つけてください

this is working.. 
app.get('/review', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/review.html'));
});

but not this one..
app.get('/review-*-*', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/review.html'));
});

Also not this one working
app.get('/review/*/*', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/review.html'));
});

This is 404 page which call evrytime while accessing dynamic pages
app.get('/*', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/404.html'));
});
4

1 に答える 1

2

Expressのルートの構文を確認してください。

ほとんどの場合、ルート パラメーターを使用する方が適切です。たとえば、次のようになります。

app.get('/review/:title/:id', (req, res) => {
 res.sendFile(path.resolve(__dirname, '../client/review.html'));
});

より柔軟な (ただし、ほとんどの開発者にとってより不透明な) 方法は、正規表現で一致させることです。

単語の途中に * を入れることができると思います (「/abc*def」のような例が挙げられていますが、それがあなたが行っている他のこととどれほどうまく機能するかはわかりません。その場合、パターンに複数の * を含めることができます。)

于 2016-07-28T13:19:26.240 に答える