2016-08-30 3 views
1

私はフレームワークを表現し、基本を学ぼうとしていますが、express jsのapp.mountpathプロパティを理解できません。理解のapp.mountpathプロパティ

私はドキュメントを通過しましたが、依然として非常に混乱しています。

任意のexplainationは(var app = express()ような)明示アプリケーションはRouter独自を有する

答えて

4

を理解されたいです。あなたは、例えば、相互にルータをマウントするapp.use()機能を使用することができます。:

var app = express(); 
var router = express.Router(); 

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

これはappのルータの/routeルートパターンでrouterをマウントします。 mountpathプロパティは、単に特定のサブアプリは、上記の例では、すなわち装着されたルートパターンを含む:

console.log(router.mountpath); // /route 

更新:このプロパティの点約多分付記。サブアプリケーションを実装するサブアプリ例えば:

router.get('/sub', function(req, res) { ... }); 

我々は/routeでそれに取り付けられ、この経路が実際/subによって/route/subとしないことによって達成されるからフルパスを抽象化The docs show。したがって、マウントされたサブアプリケーションが実際にあるパスにアクセスする場合は、app.mountpathプロパティを使用できます。

+0

マウントはどういう意味ですか? –

+0

あなたは基本的に別のエクスプレスアプリの特定の場所にエクスプレスアプリを置くことを意味します。だから私の上記の例では、私は言う:ねえ、 'ルータ'アプリは '/ルート'に行くすべての要求を処理させてください。これにより、理解しやすく維持しやすい構造が可能になります。 – Jonas

+0

@ジョーンズは理解しています。 明示的なすべてのプロパティと機能を理解し、ミドルウェアのエラー処理を明確に理解していることを明記してください。 –