'ASP.NET' 에서 라우팅이라고 하면 엔드포인트 라우팅을 말합니다. 엔드포인트 라우팅은 끝점이 컨트롤러로 끝나는 것을 의미하죠. (참고 : MS Learn - ASP.NET Core에서 라우팅 : 엔드포인트) 그런데 'ASP.NET MVC'를 안 쓴다면 프론트 엔드(View-Controller)의 라우팅을 제어할 필요성이 생깁니다. 이럴 때는 엔드 포인트를 이용할 수 없기때문입니다. 이 문제를 해결하려면 URL 재작성(URL Rewrite)이 필요합니다. 연관글 영역 0. 테스트 환경 구성 'wwwroot' 폴더를 다음과 같이 구성합니다. (루트 폴더) index.html Admin1 └ index.html Home1 └ index.html Log1 └ index.html 스크린 샷은 리액트 라우터(..
해시 라우터를 사용할 때는 발생하지 않는 문제지만 브라우저 라우터를 사용하면 발생하는 문제입니다. 연관글 영역 1. 문제의 발견 SPA(Single Page Application)에서 라우팅을 할 때 1) 새로고침을 하거나 2) SPA의 'APP'가 있는 URL에 진입하지 않고 다른 주소부터 진입하려고 하면 404 에러가 나게 됩니다. 해시(#) 라우팅을 쓸 때야 결국 지정된 파일을 읽은 후 해시 라우터를 사용하므로 문제가 되지 않지만 브라우저 라우터를 쓸 때는 진입 파일이 없으니 어쩔 수가 없죠. 2. 해결 방법 이 문제를 해결하려면 해석할 수 없는 주소가 왔을 때 폴백(Fallback)하도록 구성해야 합니다. (참고 : Rick Strahl's Weblog - Handling SPA Fallback ..
이전 포스팅에서 미리 구성된 프론트엔드 템플릿(create react app)을 이용하여 비주얼 스튜디오의 디버거에 연결하는 작업을 했습니다. 이제 직접 웹팩을 구성하여 비주얼 스튜디오의 디버거에 연결하는 작업을 해보겠습니다. 연관글 영역 1. 'SpaProxy' 설치 및 설정 이 부분은 이전 포스팅의 '1. 'SpaProxy' 설치 및 설정'의 부분과 동일합니다. 참고 : [ASP.NET Core 6] 비주얼 스튜디오에서 'NPM' 프로젝트 디버깅 - 프론트 엔드(Front-end) 템플릿 사용 2. 웹팩 구성하기 모든 파일을 수작업으로 작성합니다. 인터넷에서 구할 수 있는 간단한 샘플을 만들어 넣을 예정입니다. (참고 : 웹팩 핸드북 - 웹팩 데브 서버) 2-1. 'node'용 폴더 생성 프로젝트 루..
백엔드와 프론트엔드를 같이 디버깅하려면 백엔드 따로 프론트엔드 따로 실행 해야 합니다. 이전 포스팅에서는 디버깅을 포기하고 자동화를 했었습니다. (참고 : [ASP.NET Core 6] 비주얼 스튜디오 + React 5 (1/3) - 개요 및 프로젝트 생성 ) 이번 포스팅에서는 - 'SpaProxy'를 이용하여 백엔드를 실행한 후 npm을 실행 시키고 - 비주얼 스튜디오의 디버거에 연결하고 - 자바스크립트(javascript)를 비롯한 'NPM' 프로젝트를 디버깅을 할 수 있도록 하겠습니다. 연관글 영역 0. 문제의 시작 이것저것 다 귀찮으면 프론트엔드 출력물만 가지고 'ASP.NET Core 6'에서 웹서버 돌려서 해도 되긴 합니다. 소스맵만 잘 구성과 크로스 도메인(Cross Domain, CORS ..