이제 우리는 캠프에서 계속 작업 할이 강의로 돌아 오지 만 새로운 기능이나 기능을 추가하지는 않을 것입니다.
우리는 기존 코드를 리펙토링하려고합니다.
그래서 저는 우리의 경로와 앱 리팩토링에 대해 이야기했습니다. 오랜 기간 동안 점점 더 많은 통제력을 잃었고 여기에 충분한 코드가있어 리팩토링을 보증하고 노선에 집중할 것입니다.
이제 우리가 가지고있는 여러 경로 그룹을 강조하겠습니다.
여기에는 약 40 개의 인증 경로가 있으며 여기에 댓글 경로가 있습니다.
그리고 나서 우리는 또 다른 40 줄 정도의 캠프 그라운드 드랍스를 가지고 있습니다.
그래서 그것들은 우리가 가지고있는 세 가지 주요 루트 그룹입니다.
그리고 우리는 그들을 3 개의 다른 파일로 나눠서 모두를 요구할 것입니다. 그래서 var comment routes가 필요로하는 것과 같은 pier를 요구할 것입니다. 우리는 route의 directory slash 주석을 가질 것입니다.
그래서 우리는 그 일을해야 할 것입니다.
지금은 효과가 없을 것이며 우리는 캠프장과 목구멍에도 똑같이 할 것입니다.
그리고 그것은 단지 첫 번째 부분입니다.
여러 파일을 다른 파일로 분할 한 다음, 우리가 우리의 경로를 더 많이 말리고 Express 라우터를 사용하여 좀 더 깔끔하게 정리할 수있는 또 다른 방법을 보여 드리겠습니다.
그래서 우리는 그것에 도달 할 것이지만 나는 경로의 디렉토리를 만드는 것으로 시작할 것이고, 우리는 애플리케이션 구조와 디렉토리에 상당한 변화를주기 때문에이 시점에서 7의 내부에서 작업 할 것입니다.
그래서 새로운 버전을 만들지 않으면 꽤 혼란 스러울 것입니다.
우리는 route라는 디렉토리를 만들고 세 가지 다른 파일을 만들 것입니다. route slash campgrounds J 미국 노선은 우리를 향해 슬래시를 보내고 slash 경로를 작성하고 J.S. 또는 특정 모델과 관련이없는 모든 목적의 경로에서 자주 볼 수있는 또 다른 인덱스 인 인덱스라고 부를 수 있습니다.
그리고 나는 그걸로 지금 갈거야.
색인 예.
그래서 그것들을 열어 봅시다. 만약 우리가 C9를 디렉토리에 열면, 세 개의 디렉토리가 모두 열립니다.
그리고 나서 우리가 원하는 것을 클릭 할 수 있습니다.
그래서 우리는 지금 우리가 선호했던이 작은 하위 트리를 가지고 있습니다.
캠프장에서 일하면서 시작하겠습니다. 모든 캠프장 루트를 여기에서 복사 할 것입니다.
그래서 바로 여기에서 시작됩니다. 그리고 바로 그 주석이 바로 거기에 올 때까지 내려갑니다.
캠프장에 붙여 넣으십시오. 상자에서 꺼내면 자동으로 작동하지 않습니다.
우리는 몇 가지를 바꿔야 할 것입니다.
먼저 파일을 분할하여 시작하겠습니다.
그래서 다음은 코멘트와 함께 일할 것이고 우리는 오직 2 개의 코멘트 경로 또는 아니오만을 가지고 있습니다.
그래서 나는이 두 파일을이 파일에 넣을 것입니다.
마지막으로 우리는 예 색인을 열고 다른 경로를 추가하여 경로 경로를 갖습니다.
그리고 여기까지의 인증 경로와 이것을 가져갈 것입니다. 우리와 함께 로그인되어 있습니다. 우리는 별도로 리팩터링 할 것입니다.하지만 인증 경로에 속합니다. 왜냐하면 이것이 우리가 사용하고있는 곳이기 때문입니다.
또한 댓글 경로의 종속성이기도합니다.
예, 사용하고 있습니다. 여기에 로그인되어 있습니다.
그럼 모든 것을 복사 해 봅시다.
따라서 경로 경로를 포함한 모든 경로까지 계속 기록됩니다.
그리고 이제 우리는 액세스 파일을 정말로 정리했습니다.
그것을 인덱스 yes에 붙여넣고 저장하십시오.
그리고 우리 파일은 어떤 앱이 무엇을 가리키고 있는지 알지 못하기 때문에 오류가 발생합니다.
보시다시피 문제가 진행되고 있습니다.
하지만 우리는 과거에 우리가 애플 리케이션을 익스프레스와 같이하는 것처럼 가변 애플 리케이션을 실제로 선언하지는 않을 것입니다.
우리는 약간 다른 것을 할 것입니다.
우리는 익스프레스 라우터와 그 머신을 사용하려고합니다.
익스프레스에 익스프레스가 필요하다는 표현을 요구할 것입니다. 그러면 익스프레스 도트 라우터를 사용하여 var 라우터를 작성한 다음 모든 경로를 앱이 아닌 라우터에 추가 할 것입니다.
그리고 우리는 당신을 보여주기 위해 이것을 먼저 할 것입니다. 그리고 나서 이것이 왜 가치있는 일인지 설명해 드리겠습니다.
그래서 우리는 그렇게 할 것입니다.
그리고 나서 우리는이 파일에서 무엇인가를 내보내고 우리가 내보낼 필요가있는 모든 것은 라우터입니다. 그래서 수출은 같은 라우터입니다.
그래서 우리는 익스프레스 라우터의 새로운 인스턴스를 익스프레스 도트 라우터와 동등하게 만든이 라우터 변수를 만든 다음 라우터에 모든 경로를 추가하여 더 이상 응용 프로그램 자체에 추가하지 않습니다.
그러나이 라우터에 그리고 나서 우리는 최후에 라우터를 반환하거나 내보내고 있습니다.
그리고 이것은 예 캠프장입니다.
그리고 내 앱에 간다면 모든 라우터 파일을 요구하는 것으로 시작할 것입니다.
그래서 저는 var comment route의 다른 의존성과는 별도로 그렇게 할 것입니다. 그리고 나서 우리는 campground routes를 가질 것입니다. Eco 's는 dot slash routes가 캠프장을 깎을 것을 요구합니다.
그리고 나서 Auth도 있습니다. 모두를 통해 평등을 이루고 모두가 잘 묶여 있습니다.
그것은 이것과 같습니다.
확인을 위해 점 슬래시 라우트 슬래시 인덱스가 필요하며 원하는 경우 Raf의 인덱스를 호출 할 수 있습니다.
좋아, 그럼 우리가 그걸 살릴거야.
이제 세 개의 파일을 가져 오거나 필요합니다.
하지만 아직 실제로 사용하지는 않습니다.
우리는 파일을 필요로하고 실제로 그 중 하나만 실제로 파일을 내보내는 중입니다.
주석과 색인은 여전히 ​​문제가 있습니다.
하지만 Apter Yes로 돌아 가면 내가 사용하는 앱을 작성해야합니다.
그래서 저는 여기서 이것을 할 것입니다. 그리고 사용 후 처음으로 어떻게 보이는지 보여 드리겠습니다.
그리고 우리는 우리가 필요로했던 우리 노선의 이름을 그것에게 줄 필요가 있습니다.
그래서 코멘트는 캠프장 루트와 인덱스 루트를 라우팅합니다.
그래서 우리는 그렇게 할 것입니다.
그래서 우리는 인덱스 라우트로 시작할 것이고 또 다른 업데이트는 코멘트 라우트를 사용할 것입니다.
그리고 또 다른 하나는 캠프장의 조타입니다. 그리고 우리는 지금 우리가 필요로했던 세 개의 경로 파일을 사용하기 쉽다는 것을 알았습니다. 실제로 캠프장 J가 실제로 올바르게 설정되었습니다.
그래서 다른 것들 코멘트 J 우리와 우리가 그 모든 애플 리케이션 닷 CB 점 도트를 변경하고 아주 하단에 우리가 수출 라우터를 동일하게하고 저장하지만 우리는 여전히 몇 가지 문제가있어 끝내자.
로그인 한 것을 볼 수 있습니다.
캠프장이 정의되지 않았 음을 정의해야합니다.
그리고 이것은 캠프장이 정의되지 않았다는 불평도합니다.
따라서 올바른 모델을 추가 할 필요가 있습니다.
그래서 여기에서 우리는 단지 다른 것을 멀리 할 것이고 campground equals와 함께 시작하지 않을 것입니다.
올바른 파일 경로를 가져와야합니다.
그래서 지금 우리는 routes 디렉토리 안에 있고 모델 디렉토리 campground 안으로 들어가야합니다.
예.
따라서 우리는 도트 ​​슬래시 모델을 캠프장을 슬래시 할 필요가 있습니다. 그리고 모델 슬래시 주석이 필요한 주석을 가져옵니다.
이 두 모델은 우리가 여기에 필요로하고 저장하려고하지만 우리는 여전히이 문제가 로그인되어 있고 시작하려고합니다. 코드를 복사하려고합니다. 로그인되어 있습니다.
그래서이 부분의 맨 아래에 있습니다.
따라서 두 경로로 복사하여 색인 경로에 보관하십시오.
우리는 또한 코멘트 경로에 추가하고 지금은 맨 아래에두고 저장하지 않을 것입니다.
그리고 이제 공기가 사라지고 우리는 공기가 없어져서이 파일에 들어갑니다.
이제 우리의 색인 J.S.을 다룰 것입니다. 몇 가지 문제를 던질 다른 코드를 사용하고 있기 때문에 조금 더 걱정할 부분이 있습니다.
그래서 우리는 익스프레스가 필요한 코드로 시작해야하며 익스프레스 라우터를 생성하여 여기에 복사하십시오.
설정하면 라우터에이 앱을 모두 바꿔서 같은 경로로 게시물을 보내고 저장합니다.
문제가있다.
여권이 정의되지 않았기 때문에 그것이 정의되지 않았기 때문에 여권이 불평하고 있습니다.
그래서 우리가해야 할 일은 VAR 여권과 여권이 필요하다는 것입니다.
그리고 우리는 거의 다 왔지만 사용자가 정의되지 않은 문제도 있습니다.
그래서 우리는 사용자를 정의 할 필요가 있습니다. 그래서 우리의 사용자는 dot dot slash models slash 사용자를 필요로합니다.
그래서 우리는 아마 우리가 일들을 분리 된 파일들로 분해하고 우리의 앱을 멋지고 깨끗하게 유지하기 위해서 그것을 발견했을 것입니다.
그것은 우리가 일을 좀더 자주 요구해야한다는 것을 의미합니다. 그것은 하나의 단점입니다.
사물을 필요로하는 코드가 조금 더 많지만 장기적으로는 이와 같은 코드를 깨는 것이 훨씬 더 합리적입니다.
정리 된 것들을 우리 앱에 주문하고 구조를 유지하십시오. 여기에 여분의 2 행 또는 2 행을 의미 할 수도 있지만 Applecross 파일을 멋지고 짧게 유지합니다.
이제 우리가이 파일을 시험해보고 테스트 해보면 필요한 모든 중요한 파일이 필요한 곳에이 모든 파일을 설치해야한다는 세 가지 경로가 있습니다.
모델은 익스프레스 라우터를 표현한 다음 모듈의 맨 아래로 내보내고 있습니다. 모듈과 같은 인덱스를 수행해야하지만 라우터와 동일한 인덱스가 필요합니다. 이제 우리가 앱.
오류가 발생하는지 봅시다.
좋아 보인다.
그것을 시험해 봅시다.
그래서 우리는 그 루트가 작동하기 시작하기 위해 루트 경로로 갈 것입니다.
캠프장을 느껴보세요.
우리는 여기서 캠프장 ​​경로 대신 캠프장을 정의하지 않았다는 점에서 문제가 있습니다.
그래서 우리는 캠프장 J.S를 열어야합니다. 우리 VAR 캠프장을 추가하면 다른 파일에서했던 것처럼 도트 슬래시 모델이 캠프장을 내려야합니다.
여기에 다른 오류가 없는지 확인하십시오.
좋아 보인다.
서버를 다시 시작한 후 다시 시도하십시오.
이제 우리가 가야 해.
그래서 우리는 쇼 페이지를보고 있습니다.
다시 가자.
시도하고 로그인하십시오.
큰.
세 베루스 비밀 번호와 그것 모두 잘 작동합니다.
어느 쪽이 위대한가.
우리가 실제로 말라 버리거나 코드화 할 수있는 더 큰 변화였습니다. 그리고이 행과 관련이 있습니다. 바로이 세 줄이 색인 경로 캠프장 경로를 사용하고 우리가 할 수있는 경로를 주석 처리 한 후에 실제로하고있는 것입니다. 경로 선언을 단축합니다.
이제 일반적인 Jay에서 댓글 경로를 예로 들어 봅시다.
예.
우리가 모두 캠프장으로 시작하는 두 가지 경로 ID 슬래시 설명 캠프장 슬래시 ID 슬래시 설명 다음 슬래시는 그 중 하나의 끝에 알았거나 캠프장 가뭄의 페이지에서 알았습니다. 내가 열면 모든 것을 볼 수 있습니다. 슬래시 캠프장과 함께 우리는 우리의 애플 리케이션에서 그들을 필요로 할 때 우리는 실제로 그 복제를 줄일 수 있습니다.
예.
그래서 campground로 시작하자.
나는 모든 캠프장 루트가 슬래시 캠프장에서 시작해야한다고 말 할 수 있습니다. 우리는 캠프장 G-S 캠프장을 모두 가져 와서 여기에서이 루트를 찾고 캠프장을 앞에 추가 할 것입니다.
그래서이 변경을 할 예정이라면 캠프장 JS 파일에 가서 모든 슬래시 캠프장을 제거해야합니다.
이제 모든 캠프장을 보여줄 색인은 단지 슬래시입니다.
창조물은 단지 새로운 것을 보여줄뿐입니다.
그것의 슬래시 ID와 우리가 가진 전부입니다.
그래서 우리는 구원을 얻을 것입니다. 다시 말하면 캠프장 루트가이 파일에서 정의되고 캠프 그라운드에 슬래시 캠프장이 추가됩니다.
따라서 코드를 정리하는 데 도움이되며 인덱스 경로의 경우 공통점이 없기 때문에 동일한 것을 수행 할 수 있습니다. 즉, 앞뒤로 쭉 쭉 뻗고 싶기 때문에 그대로 두거나 그냥 시작한다고 할 수 있습니다 우리가 문자열을 먼저 제공하는이 패턴과 일치 시키려면 슬래시를 사용하고 경로 자체가 캠프장으로 이동하더라도 현재 작동중인 캠프 그라운드 페이지에서 서버를 새로 고칩니다.
예, 색인 경로는 단지 슬래시입니다.
이 라인 덕분에 캠프장을 실제로 내릴 수 있습니다.
그래서 댓글 경로.
슬래시 캠프장 슬래시 콜론 ID 슬래시 주석으로 시작한 다음 주석 파일 주석 J Google에 경로를 지정하고이 모든 것을 변경하여 새로운 내용 만 표시 할 수 있기 때문에 좀 더 복잡합니다.
그리고 이것은 단지 슬래시입니다.
그래서 우리는 길을 많이 줄이고 모든 아이디어를이 주제로 그룹화하여 모든 캠프장 루트가 슬래시 캠프장에서 시작하도록하고 더 짧은 경로 선언을 작성할 수 있습니다.
특히 긴 접두사를 여기에 입력 할 필요가없는 의견에 대해서는 특히 그렇습니다. 그러나 문제가 있습니다.
저장하면 주석 파일을 저장하고 다시 돌아가서 새로 고치면 새 코멘트를 추가하는 것처럼 주석 경로 중 하나에갑니다.
먼저 우리는 물론 로그인해야합니다.
Severus에 로그인하여 다시 시도해 보겠습니다.
그리고 지금 나는 주석을 추가하려고합니다.
우리는 문제가있다. 문제가 무엇인지 알기는 어렵다.이 오류는 항상 실망 스럽지만, NULL이라는 속성 이름을 읽을 수 없다고 말하면서이 줄을 바로 가리키고있다.
캠프장 이름.
그래서 그 오류에서 캠프장이 null이라는 것을 의미 할 수 있습니다. 즉 캠프장을 데이터베이스에서 찾지 못한다는 것입니다. 왜냐하면 우리가 새로운 코멘트를 작성할 때이 코멘트 경로 대신에 ID로 캠프장을 찾는 것이기 때문입니다.
그리고 실제로 우리 ID가 실제로 발견되지 않고 있습니다.
따라서 우리는 Confidant Log Request 매개 변수 ID를 수행하고 서버를 시작하지 않음으로써이를 입증 할 수 있습니다.
그리고 우리가이 루트를 옮길 때까지 이것은 잘 작동하고 있었고 우리는이 같은 익스프레스 라우터를 사용하여 모든 주석 라우트가 Colan ID를 추가 한 곳부터 시작하도록 지정했습니다.하지만 우리가 시도해 본 결과 우리는 신선하고 이전에 여기를 보았습니다 이 긴 화살표는 인쇄 된 것을 볼 수 있습니다.
ID를 찾지 못했습니다.
우리 아이디. 또는 결장 I.D. route 매개 변수가 댓글 경로를 통과하지 못했습니다.
그리고 우리가이 파일에서 익스프레스 라우터를 사용할 때 객체 대신 옵션으로 전달할 때 정말 쉬운 수정이 있습니다.
병합 프로그램.
참된.
그런 다음 Paramo를 캠프장과 코멘트에 병합하여 코멘트 경로 내부에서 우리가 정의한이 Kolin ID에 액세스 할 수있게합니다.
이제 Aptera 노드를 다시 시작해 봅시다.
우리가 지금 신선하다면 슬래시 캠프장을 새로 고쳐야합니다.
나는 Severus 패스워드로 다시 로그인해야하고, 시도해보고 코멘트를 추가하면, 이제는 잘 작동한다는 것을 알 수있다.
그리고 우리는 그 신분증을 찾은 다음 올바른 캠프장을 찾고 있습니다.
그래서 우리는 문제가 없습니다.
승인.
그래서 우리는 성공적으로 경로를 리팩토링했습니다.
마지막으로 우리가 집중할 수있는 부분은 다른 코드를 정리하는 것입니다. 예를 들어 주석 파일에 들어갈 수 있습니다.
그리고 우리는 이제 더 이상 논평 노선을 말할 필요가 없습니다.
하지만 세미콜론을 추가하고 각 경로 앞에 작은 메시지를 추가하기를 원한다면
그래서 이것은 새로운 코멘트이고, 이것은 코멘트입니다. 그리고 우리는 모든 것이 잘 포맷되어 있는지 확인하고 그것을 없애줍니다.
우리는 여전히 로그인되어 있습니다.
여기서 리팩토링하고 이동하는 메시지를 여기에 추가 할 것입니다. 그 대신에 주석 파일과 인덱스 jape 파일을 필요로하는 자체 파일이기 때문에 두 위치에 모두 포함되어 있습니다.
여기에 몇 가지 의견이 있는지 확인합시다.
그래서 이것은 루트 경로입니다.
이것은 등록 양식 논리 경로를 처리하는 등록 양식 경로입니다.
이것이 우리의 로그 및 양식 경로입니다.
이것은 로그 및 양식 논리를 처리하고 실제로 로그인합니다.
그리고 로그 아웃 경로입니다.
그런 다음 여기에 미들웨어가 있습니다.
괜찮아.
그리고 마지막으로 캠프장에 가야합니다.
예, 색인 경로가 있습니다.
우리가 만드는 길과 우리의 새로운 길과 우리의 쇼.
큰.
그리고 실제로 우리가 정말로 여기서 정리할 수있는 것이 있는지 살펴 보겠습니다.
먼저 여기에 의견을 추가하겠습니다.
우리는 길을 필요로하고 선을 행하는 것이 옳은가?
그래서 우리는 파일과 디렉토리까지 많은 것들을 바꿨지 만 우리의 논리는 완전히 동일합니다.
실제로 다른 파일로 이동하는 것 외에 가장 큰 변화는 우리가 경로 파일을 요구할 수있는 Express 라우터를 사용하는 것을 보여 주었고 우리의 경우 경로 파일은 우리가 사용하고 있고 호출 할 필요가없는 라우터를 내보내는 것입니다 라우터하지만 그것은 전통적인 이름입니다.
따라서 우리가 여기에 이름을 붙이면 Didcot이 해당 객체 위에 도착하고 게시하는 광고를 참조한 다음 맨 아래에 보낸 다음이 접두사를 제공하여 해당 파일의 모든 단일 경로 앞에 추가합니다.
큰.
그래서 우리는 이전 버전에서이 app에서 우리가 46 줄을 얼마나 많이 가지고 있는지를 보여주기 위해 정말로 정리를합니다.
우리가 SJS를 열면 우리는 177 개의 라인을 가지고 있습니다.
그래서 그것은 상당히 과감한 감소입니다.