2017-11-01 19 views
0

エクスプレスを設定してすべてのルートの前にプレフィックスを自動的に追加する方法は誰も知っていますか?例えば、現在私が持っている:すべてのノード/エクスプレスルートにプレフィックスを追加する方法

/

/route1

/route2

しかし、私は次のように接頭辞を追加したい:

/prefix/

/prefix/route1

/prefix/route2

今、私は私のすべてのルートに手動でprefixを定義する必要がなく、より自動化/設定可能な方法をしたいと思います。助けてもらえますか?

ありがとうございます!

+0

がhttps://stackoverflow.com/questions/4375554/is-it-を参照してください。 node-set-a-base-url-for-nodejs-appを設定することはできますが、Expressの古いバージョンの回答は注意してください。 – skirtle

答えて

1

これには、簡易ルータ()を使用できます。

エクスプレスアプリのようにルータを使用できます。

router.use(() => {}); // General middleware 
router.get('/route1',() => {}) 
router.get('/route2',() => {}) 
router.post('/route2',() => {}) 

そして使って明示アプリにルータを取り付ける:例えばので

app.use('/prefix', router); 

https://expressjs.com/en/4x/api.html#router

+0

ありがとう!これは私のために働いた。しかし、それは私の 'res.render( '... html')'を混乱させました(私のルートに行くと今は空白の画面しかありません)。静的ファイルの送信方法を再設定する必要があるかどうかを知っていますか? –

+0

@TrungTranはエラーメッセージなしで伝えるのは難しいです。相対パスを使用していて、ファイルを別のディレクトリに移動した可能性があります –

関連する問題