Router ; ファイルの切断


ソフトウェアの増大に伴い,複雑さを整理しなければ,ソフトウェアの増大には限界がある.
この間ルータはますます大きくなってきました.
△現在、ルータは100~1000個であることができます.
ファイルごとに整理するテクノロジーについて説明します.
expressjs.com


1.pathを/topic/先頭のページから新しいフォルダに移動


express(Webアプリケーション)>ルーティングディレクトリの作成>トピックファイルの作成>トピック/パスのルータとしてトピックファイルに移行します.

2.コード作成


< main.js >
1)一番上に追加します.
var topicRouter = require('./routes/topic')
2)ルーティングのコードは下にあります.

app.use('/topic', topicRouter);
:「/topic」で住所にtopicrouterというミドルウェアを適用!!意味

< topic.js >
var express = require('express') // express를 로딩시킴
var router = express.Router() // express.Router() 메소드를 실행 -> router라는 객체를 return

3. main.js / topic.jsコード比較。




呼び出しモジュール自体:///express
//APplicationオブジェクトを返します
< topic.js >

:expressが所有するRouterメソッドを呼び出す
、Routerに戻る

:鼻を見て...
< topic.js >
すべてのアプリケーション.先頭のコード=>routerです.に変更します.

どうしてですか。答えを探せ!


ホームページを実行すると...エラーオカレンス
コンソール>タイプエラー:Router.use() requires a middleware function but got a Object
Sol) topic.jsの末尾にコードを追加
: topic.jsファイルをモジュールとして実行するには、ファイルの外部に誰をエクスポートするかを書く必要があります!!!Rouerがエクスポートされました
module.exports = router;
現在の状態)

リスト内のCS 333の画面をクリック)

Sol)
< main.js >
app.use('/topic', topicRouter);
このコードに示すようにrouter("/topic/")を指定すると
ルータ内部に/topicをpathに含める必要はありません.
==> < topic.js>ルータパスのすべての「/topic」をクリア
*(以下のform-actionから削除するのではなく、ルータのパス(ex.router.get('/topic/create/)~~)からのみ削除することに注意してください!)
**_

コンソール>ReferenceError:template未定義
at C:\Users\82107\documents\github\express\routes\topic.js:13:14
Sol) < topic.js>上部へのコードの追加
var template = require('./lib/template.js');
コンソール>Error:Cannot find module'./lib/template.js'
SOL)現在のページ;,"/lib/template.js' : topic.jsの親routionsディレクトリのサブlibディレクトリへのパス.
=>パスを親パスから始点に変更します.
var template = require('../lib/template.js');
コンソール>Error:path未定義
Sol ) var path = require('path');
***主に定義されていないErrをこのように表示します.jsに貼り付け...

Comment :


Routerというexpressという機能を使って、
アプリケーションで、
コードを簡略化するために、個別のファイルに解凍します.