さて、このレッスンでは、キャンプに取り組んでいきますが、新しい機能や機能は追加しません。
既存のコードをリファクタリングするだけです。
そこで私は、ルートとアプリケーションJのリファクタリングについて話してきました。 S.
長い間、制御不能になってきており、リファクタリングを保証する十分なコードをここに用意しており、ルートに集中する予定です。
だから今私が持っているルートの異なるグループを強調しましょう。
ここに約40行の認証ルートがあり、そこにコメントルートがあります。
そして、私たちはまたここに40ラインほど行くキャンピンググラウンドを持っています。
だから、それらは我々が持っているルートの3つの主要なグループです。
そしてそれらを3つの異なるファイルに分割し、それらのすべてを必要とするので、var
comment routesがrequireと同じように見える桟橋を必要とし、ルートのディレクトリスラッシュコメントが必要になります。
だから私たちはその仕事をする必要があります。
今はうまくいかず、私たちはキャンプ場と喉のために同じことをします。
それはちょうど最初の部分です。
物を別のファイルに分けて、次に私たちのルートをさらに乾かして、Expressルータを使って物事を少しきれいにする別の方法を示します。
だから私はそれに着くでしょうが、私はルートのディレクトリを作ることから始めようとしています。私たちはアプリケーション構造とディレクトリを大幅に変更しているので、この時点で私は7の内部で作業しています。
だから私は新しいバージョンを作っていないとかなり混乱するでしょう。
私たちはルートと呼ばれるディレクトリを作ってから、3つの異なるファイルルートを作ってキャンプ場をスラッシュしますJ米国のルートは私たちに向かってコメントをスラッシュし、ルートをスラッシュにします。
S.
特定のモデルに関連していないすべての目的のルートで頻繁に見られる別のものであるインデックスと呼ぶこともできます。
私は今のところそれに行くでしょう。
インデックスはい。
そこでそれらを開いてみましょう。ディレクトリ上でC9を実行すると、それらの3つすべてが表示されます。
そして、私たちが望むものをクリックするだけです。
だから我々は今私たちが好むこの小さなサブツリーを持っている。
キャンプ場で働いて始めてみましょう。私はここからすべてのキャンプ場のルートをコピーします。
だからこそここが始まり、私たちのコメントがそこに届くまで下がります。
そしてキャンプ場にそれを貼り付けましょう。それはただ箱からすぐに自動的に動作するのではありません。
私たちはいくつかのことを変えなければなりません。
しかし、ファイルを分割することから始めましょう。
だから私はコメントを使って作業し、2つのコメントルートしかない。
だから、私はこれらのファイルをこのファイルに入れてください。
最後にインデックス「はい」を開き、他のルートを追加してルートルートを作成します。
そして、ここまでの認証ルートも私たちと一緒にログインしています。それを個別にリファクタリングしますが、これは認証ルートに属しています。なぜなら、これは私たちが使用している場所だからです。
また、コメントルートの依存性もあります。
はい、使用しています。ここにもログインしています。
だから、それをすべてコピーしてみましょう。
したがって、ルートルートを含むすべてのルートまですべての方法で記録されます。
そして今、私たちは本当にアクセスファイルをきれいにしました。
それをインデックスyesに貼り付けて保存しましょう。
私たちのファイルはアプリケーションが何を参照しているのかわからないので、私たちはどこにでもエラーを出しています。
あなたが見ることができるように、問題の1つが実行中です。
しかし、実際には、私たちのアプリをExpressと同じように扱うような、変わるアプリを宣言するつもりはありません。
私たちは少し違うことをやろうとしています。
私たちはエクスプレスルータとそのマシンを使用して起動するようにします。
equals for expressを要求し、次にvar router
equals express dot routerを書き、次にすべてのルートをappではなくrouterに追加するつもりです。
express
そして、私たちはまずこれをあなたのことを示すためにやっていきます、そして、それがなぜ価値があるのか​​を説明します。
だから私たちはそれをします。
そして、もちろん、このファイルから何かをエクスポートしなければなりません。そして、私たちがエクスポートする必要があるのはすべてルータです。
そこで、Expressルータの新しいインスタンスをExpressドットルータと同じように作成し、すべてのルートをルータに追加して、アプリケーション自体に追加しなくなりました。
しかし、このルータに戻ったり、最後にルータをエクスポートしたりしています。
そして、これはキャンプグラウンドです。
私が私のアプリケーションに行くなら、私はすべての私のルータファイルを要求することから始めるつもりです。
だから、私はそれをvar
commentルートの他の依存関係とは別にして、それから私たちはcampgroundルートを持っていきます。
そして、Authもあります。 平等の中ですべてを行い、すべてがうまくグループ化されます。
こんな感じです。
OKはドットスラッシュルートのスラッシュインデックスを必要とし、私たちはこのインデックスをRafと呼ぶことができます。
これで保存します
現在、これら3つのファイルをインポートまたは必要としています。
しかし、実際にそれらを実際に使用するだけでは不十分です。
私たちはファイルを必要としており、そのうちの1つだけが実際に何かをエクスポートしています。
コメントとインデックスはまだ問題があります。
しかし、Apterに戻る場合は、私が使用するアプリを書く必要があります。
だから私はここでこれをやろうとしています。私が使った後、最初にどのように見えるかをお見せしましょう。
そして、私たちが必要とするルートの名前を与える必要があります。
したがってコメントは、キャンプ場ルートとインデックスルートをルーティングします。
だから私たちはそれをします。
そこで、インデックスルートから始めて、別のアップデートではコメントルートを使用します。
それからもう1つはキャンプグラウンドドラップで、私たちが現在必要としている3つのルートファイルを実際に正しく設定したキャンプグラウンドJのみを使用していることがわかります。
それでは、他のものとコメントを完成させてください。私たちは、私たちはすべてのそれらのアプリケーションドットCBルータのドットを変更し、我々はルータと同等の輸出と保存するモジュールを行う最下部にあるが、我々はまだいくつかの問題があります。
あなたはログインしているのを見ることができます。
キャンプ場が定義されていないと定義する必要があります。
そして、これはキャンプ場が定義されていないと不平を言っている。
したがって、正しいモデルを追加することを確実にする必要があります。
だから、ここでは遠くにもう一度やって、キャンプグラウンドに必要なもので始まらない。
正しいファイルパスを取得する必要があります。
今はルートディレクトリの中にあり、モデルディレクトリのキャンプ場に入る必要があります。
はい。
だから私たちはドットスラッシュモデルスラッシュキャンプ場を行う必要がありますし、我々はまた、モデルスラッシュコメントである必要があるコメントをインポートします。
それらは私たちがここで必要としたい2つのモデルであり、保存されますが、まだこの問題はログインしています。私はちょうどコードをコピーするつもりですログインしています。
だからこそこれは一番下にあります。
それで、それを両方の場所にコピーして、インデックスルートに保管しておきます。
私たちはコメントルートに追加して、今のところそれらを一番下に置き、保存します。
そして今、空気がなくなり、私たちは空気がなくなり、このファイルに入ります。
今はインデックスJを扱っています S.
いくつかの問題を投げ捨てるいくつかのコードを使用しているため、もう少し心配するところがあります。
Expressを必要とするコードから始め、Expressルータを作成してここにコピーしてください。
設定してから、これらのアプリをすべてルーターに変更します。そのような投稿をルーティングして保存します。
私たちには問題があります。
パスポートが定義されておらず、定義されていないためです。
ですから、VARパスポートはパスポートが必要です。
私たちはほとんどそこにいますが、ユーザーが定義されていないという問題もあります。
だから私たちはユーザーを定義する必要がありますので、ユーザーがドットドットスラッシュモデルをスラッシュする必要があります。
だから、おそらく、私たちが別々のファイルに分割し、私たちのアプリをちょっときれいにしてきれいにするために、気づいたでしょう。
それは、私たちが少し頻繁に物事を要求しなければならないことを意味し、それは一つの欠点です。
物事を要求するコードはもう少しですが、長期的には、このようなコードを壊すことはずっと意味があります。
整理されたものを整理して、アプリに注文と構造を持たせてください。余分な1行か2行を意味するかもしれませんが、Applecrossファイルを素早く保ちます。
これを今試してみると、3つのルートがあり、必要な重要な依存関係がある場所でこれらのファイルをすべてセットアップする必要があります。
モデルはエクスプレスルータを表現していますが、我々はモジュールのようなインデックスを行う必要があるが、我々はこれをルータのルータと等しくする必要があるが、すべての最下部にエクスポートしている。アプリ。
エラーが発生したかどうかを見てみましょう。
それはよさそうだ。
それを試してみましょう。
そこで、ルートが動作するようにルートパスに移動します。
キャンプ場を感じてください。
キャンプ場の代わりにキャンプ場を定義していないという問題があります。
だから私たちはキャンプグラウンドJを開く必要があります。 S.
私たちのVARキャンプグラウンドを追加するだけで、他のファイルと同じようにドット・ドット・スラッシュ・モデルがキャンプ場をスラッシュする必要があります。
ここに他のエラーがないことを確認してください。
それはよさそうだ。
サーバーを再起動してもう一度試してください。
今私たちは行くつもりです。
そこで、ショーページを見ています。
戻ってみましょう。
試してログインしてください。
すばらしいです。
セヴェルスのパスワードとそれはすべて正常に動作します。
それは素晴らしいです。
実際には、ドライアップやコード作成に大きな変更を加えました。この行は、インデックスルートのキャンプ場ルートとコメントルートを使用した後に実際に行っているこの3行です。ルート宣言を短縮しますか？
だから、共通のジェイのコメントルートの例を見てみましょう。
はい。
私たちがキャンプ場で始まる2つのルートはすべてIDスラッシュコメントキャンプ場スラッシュIDスラッシュコメントから始まり、スラッシュはそれらの1つの最後かキャンプグラウンドの干ばつのページで知っていました。スラッシュキャンプ場では、我々は実際に我々のアプリでそれらを必要とするときにその重複を減らすことができます。
はい。
だからキャンプ場で始めることができます。
私はすべてのキャンプ場のルートがスラッシュキャンプグラウンドから始まると言うことができ、私たちはこれらのキャンプ場G-Sルートをここで見つけ、それらの前にスラッシュキャンプ場を追加するために私たちはすべてキャンプグラウンドG-Sルートを取るでしょう。
この変更を行うつもりならば、キャンプ場のJSファイルに行き、すべてのスラッシュキャンプ場を取り除く必要があります。
だから、すべてのキャンプ場を表示するための指標は、今やスラッシュです。
作成はちょうど私たちの新しいスラッシュ新しい私たちのショーですスラッシュです。
そのちょうどスラッシュIDと私たちが持っているものすべて。
だから私たちは救うでしょう。そしてそれはまた、キャンプ場のルートを取ることです。これらのルートはすべてそのファイルで定義されており、彼らの前にスラッシュキャンプ場が追加されています。
だから、コードをクリーンアップするのに役立ちますし、同じことをすることもできますが、インデックスルートでは共通するものはありませんので、そのままにしておくことができます。文字列を最初に提供するこのパターンとすべて一致させたい場合はスラッシュを使用し、キャンプ場に行くルートがあっても動作しているキャンプ場ページでサーバをリフレッシュしてみましょう。
はい、インデックスルートはちょうどスラッシュです。
このラインのために、実際にはキャンプ場をスラッシュしています。
コメントルート。
スラッシュキャンプグラウンドのスラッシュコロンのIDスラッシュコメントから始まり、コメントファイルコメントに行くことができます。私たちはこれらのすべてをルーティングして変更するので、これは新しいものに過ぎません。
これはただのスラッシュです。
そこで私たちはルートを大幅に短縮し、これらのトピックに物をグループ化して、すべてのキャンプ場ルートがスラッシュキャンプ場から始まり、ルート宣言を短く書くことができます。
そして、これは長い接頭辞をここに供給する必要がないコメントでは特に当てはまりますが、問題があります。
保存した場合は、コメントファイルを保存して戻って再起動し、新しいコメントを追加するなどのコメントルートの1つに移動します。
まず、ログインする必要があります。
だからセウェルスにログインしてもう一度試してみよう。
そして今私はコメントを追加しようとします。
私たちには問題があります。このエラーからの問題は何かを伝えるのは難しいですが、このエラーは常にイライラしますが、NULLのプロパティ名を読み取ることはできず、ここでこの行を指しています。
キャンプ場の名前。
そのエラーから私たちはcampgroundがnullであることに気付くことができます。つまり、新しいコメントを作成するときにこのコメントルートの代わりに、IDによるキャンプ場を見つけることができます。
そして、私たちのIDが実際に見つからないということが起こっています。
だから私たちは、信頼できるログ要求パラメータIDを実行し、サーバーを起動しないことで証明できます。
このルートを移動するまではうまくいきました。このエクスプレスルータをこのように使用して、すべてのコメントルートがColan
IDを追加した場所から開始するように指定しましたが、試してみると新鮮ですこの長い矢印は、印刷されていないことがわかることが指摘されています。
IDを見つけられません。
何が起こっているのは私たちのことです。 D. または結腸Iである。 D. ルートパラメータがコメントルートに反映されていません。
そして、私たちがオブジェクトの代わりにオプションで渡すこのファイルにエクスプレスルータを使用すると、本当に簡単な修正があります。
プログラムをマージします。
真実。
そしてそれは、Paramoとキャンプ場からのコメントを一緒にマージして、私たちが定義したこのKolin
IDにコメントルート内でアクセスできるようにします。
だから今度はノードAptera Yesを再起動しましょう。
私たちが今では新鮮ならば、スラッシュキャンプ場をリフレッシュする必要があります。
私はSeverusのパスワードとしてログインし直してみようと思います。コメントを追加してみると、うまくいきました。
そのIDを見つけてから正しいキャンプ場を探しています。
だから我々は問題がない。
OK。
そこで、私たちは正常にルートをリファクタリングしました。
私たちが本当に焦点を当てることができる最後のことは、他のコードを整理することです。たとえば、コメントファイルに入ることができます。
そして、私たちはもはやここでコメントルートを言う必要はありません。
しかし、セミコロンを追加して、各ルートの前にちょっとしたメッセージを追加したい場合は、
だからこれは新しいコメントですし、これはコメント作成です。そして、私たちはすべてのものがきれいにフォーマットされていることを確認し、それを取り除きます。
まだログインしています。
ここでは、私たちがリファクタリングし、それ自身のファイルに移動するミドルウェアをここに追加します。代わりにコメントファイルとインデックスjapeファイルが必要になります。
ここにいくつかのコメントがあることを確認しましょう。
これがルートルートです。
これはSign-Upロジックルートを処理する登録フォームルートです。
これはログとフォームのルートです。
これは、ログとフォームロジックを処理し、実際にログインします。
これがログアウトのルートです。
そしてここにミドルウェアがあります。
大丈夫。
そして最後にキャンプ場に行く。
はい、私たちはインデックスルートを持っています。
私たちのルートを作成し、新しいルートと私たちのショー。
すばらしいです。
そして、実際には、ここで本当にクリーンアップできるものがあるかどうかを見てみましょう。
ここでコメントを追加しましょう。
私たちは正しいルートを必要とし、そうでなければ良いことが必要ですか？
だから私たちはファイルやディレクトリまで多くのことを変えましたが、論理はまったく同じです。
本当に異なるファイルに移動することを除いて最大の変化は、私たちがルートファイルを必要とする可能性のあるExpressルータを使用していることを示していました。私たちのルートファイルは、私たちが使っているルータをエクスポートしていてルータですが、それは従来の名前です。
だから私たちはここで名前をつけただけで、Didcotがそのオブジェクトに到達して投稿した広告を参照し、そのオブジェクトを最下部に送信する必要があり、このファイル内のすべてのルートの前に追加されるプレフィックスを提供できます。
すばらしいです。
だから、私たちは実際には、これまでのバージョンでこのアプリで私たちが46行をどれくらい持っているかを示すために、物事をきれいにするだけです。
私たちがSJSを開くと、私たちは177行を持っていました。
だからそれはかなり劇的な削減です。