routing : app.js 파일에 포함되어 있는 app 컴포넌트에 구현
-> app 컴포넌트가 가장 처음으로 렌더링 되는 컴포넌트이기 때문
index 경로인 /(slash) 로 접속 -> 메인 페이지 컴포넌트를 보여줌
slash-post-write으로 접속 -> post-write 페이지 컴포넌트 보여줌
slash-post-post-id로 접속 -> post-view 페이지 컴포넌트 보여줌
colon-post-id -> 동적으로 변하는 파라미터를 위한 값
app.js 파일 수정 코드
import React from "react";
import {
BrowserRouter,
Routes,
Route
} from "react-router-dom";
import styled from "styled-components";
// Pages
import MainPage from "./component/page/mainpage";
import PostWritePage from './component/page/PostWritePage';
import PostViewPage from './component/page/PostViewPage';
const MainTitleText = styled.p`
font-size: 24px;
font-weight: bold;
text-align: center;
`;
function App(props) {
return (
<BrowserRouter>
<MainTitleText>지윤이의 미니 블로그</MainTitleText>
<Routes>
<Route index element={<MainPage />} />
<Route path="post-write" element={<PostWritePage />} />
<Route path="post/:postId" element={<PostViewPage />} />
</Routes>
</BrowserRouter>
);
}
export default App;
(실습) 애플리케이셔 실행하기
But, 실제 서버와 연동되어 있지 않기에 실제로 글이 작성되진 않음!
글 작성하기 버튼을 누르면 첫 화면으로 돌아옴
(실습) Production 빌드하기
웹 애플리케이션 개발의 최종 단계 = 빌드와 배포
but, 배포는 다루지 않고 빌드하는 과정만 해봄!!
Build란?
: 작성한 코드와 애플리케이션이 사용하는 이미지, CSS 파일 등의 파일을 모두 모아서 패키징 하는 과정
빌드 과정에는 코드가 식별이 불가능하도록 obfuscation 이라 불리는 난도카가 되기도 하며
필요 없는 공백이나 줄 바꾼 문자들을 제거하여 minification 이라 불리는 축소 과정도 포함
-> 최종적으로 만들어진 파일들은 Build 폴더에 모이게 됨
//빌드하기
npm run build
build folder 내
: index.html 파일, 이미지 그리고 css 파일과 javascript bundle 파일이 static 폴더 안에 각각 들어가게 됨
//serve 설치하기
npm install -g serve
* serve : static 파일들을 서빙해주는 역할을 하는 프로그램
-g 옵션을 넣어 글로벌 모드로 서브 패키지를 설치
-> 글로벌 모드로 설치하게 되면 각 프로젝트 폴더 내에 설치되는 것이 아니라 현재 사용 중인 컴퓨터의 다른 경로 어디에서든지 사용할 수 있게 됨
--> 오류 미해결.. 중간고사만 끝나면... 다시 돌아올께요...!!ㅠㅠ
에러 -> 스크립트 실행 권한이 제한되어 있어 발생하는 문제임을 확인함!!
! 해결방법 !
- 스크립트 실행 권한을 변경시키기 위해서는 windows powershell을 관리자 권한으로 실행시켜서 변경해주어야 함!!
1. windows powershell을 검색하여 관리자로 실행해준다.
윈도우 검색 -> powershell -> 오른쪽 버튼을 눌러 관리자 권한으로 실행
2. Set-ExecutionPolicy Unrestricted 명령어 엔터!
3. Y를 누르고 엔터!
다시 터미널에 ExecutionPolicy 작성하면 Unrestricted 나오고 제한이 풀림!!
! 문제 해결 !
'React > 처음 만난 리액트(react)' 카테고리의 다른 글
sec 16. (실습) Page 컴포넌트 구현하기 (1) | 2023.11.01 |
---|---|
sec 16 (실습) 가짜 데이터 만들기 (0) | 2023.11.01 |
sec 16. (실습) 주요 컴포넌트 및 폴더 구성하기 / UI component 구현하기 (0) | 2023.11.01 |
sec 16. (실습) 미니 블로그 기획, 프로젝트 생성 및 필요한 패키지 설치 (0) | 2023.11.01 |
sec 15. (실습) styled-components를 사용하여 스타일링 해보기 (0) | 2023.11.01 |