2017-02-01 8 views
-1

私は反応ルータで新しいアプリケーションを作成していますが、これに直面しました。 http://localhost:3000/app/のURLを挿入するとスラッシュURLの末尾に、Uncaught SyntaxError: Unexpected token <というメッセージが返されますが、同じURLを挿入しても末尾にスラッシュが付きませんと、http://localhost:3000/appのようになります。Uncaught SyntaxError:反応ルータの最後に末尾にスラッシュがあります

URLの最後に末尾のスラッシュを使用しないパターンを保持し、この種類のユーザー全員にこれを持たないURLをリダイレクトするにはどうすればよいですか?

+0

不幸ではありません!このアイデアは、反応ルータの後続のスラッシュ動作に関係しています。私はすでにバベルを使用しています! – Aipi

答えて

0

この問題を解決するには、サーバー側で変更を加えることができます。この場合は、Node.jsとExpress.jsをサーバーとして使用し、URLを処理し、既に処理済みのこのURLにリダイレクトする機能を使用します。

app.use(function(req, res, next) { 
    if (req.path.length > 1 && /\/$/.test(req.path)) { 
    var query = req.url.slice(req.path.length) 
    res.redirect(301, req.path.slice(0, -1) + query) 
    } else { 
    next() 
    } 
}); 

この関数は、パラメータとして要求、応答、次の一致するルートを受信して​​います。文字列URLが1より大きい場合、この文字列URLの最後のパラメータが/の場合、/なしでこのURLに301リダイレクトされます。そうでない場合は、次の一致するルートへの呼び出しが継続されます。

関連する問題