리엑트는 사용자 정의 태그를 만드는 언어다.

사용자 정의 태그를 리엑트에서는 컴포넌트 라고 부른다.

 

리엑트를 사용하는 것은 결국 컴포넌트를 만들고 사용할 줄 알아야 하는 것이다.

 

그럼 컴포넌트를 만들고 활용해 보자.

 

 

App.js 의 내용을 위와같이 수정해보았다.

 

4~8라인의 funciotn Header 부분이 사용자 정의 테그를 정의한 것이다.

사용자 정의 테그를 만들때에는 함수 명칭의 첫 글자를 무조건 대문자로 해야 한다.

 

13라인의 <Header></Header> 부분이 위에서 정의한 Header 컴포넌트를 적용한 부분이다.

컴포넌트 명칭을 HTML 태그처럼 적어주기만 하면 바로 화면에 적용되는걸 볼 수 있다.

 

 

그러면 사용자 정의 태그를 좀 더 만들어보자.

위에서는 Header 부분을 만들었으므로 아래에서는 nav와 article 부분을 컴포넌트로 만들어보자.

 

 

만들고 나면 위의 이미지와 같다.

 

주의사항대로 컴포넌트를 정의할 때 명칭을 대문자로 하였고,(10, 20라인)

해당 명칭을 HTML 태그처럼 기입해주었다. (31, 32라인)

 

이렇게 적용하면 컴포넌트를 만들기 전이나

컴포넌트를 만든 후나 결과 화면은 똑같다.

 

하지만 컴포넌트로 구성했기 때문에

- 해당 컴포넌트만 따로 공유하기 쉽고

- 컴포넌트의 정의 부분만 수정하면 컴포넌트를 적용한 부분은 일괄 수정이 된다는 장점이 있다.

 

이것이 리엑트의 본질! 컴포넌트다.

저번 시간에 create-react-app 설치를 끝내고

마지막에 설치 완료가 되었는지 확인하는 차원에서 실행했던 그 화면이 어떻게 나왔나 가볍게 살펴보자.

 

1. 수정

create-react-app 의 구조를 살펴보면 (좌측 폴더 트리)

프로젝트 명 아래에 여러 폴더가 있고, 그 중 src 폴더를 보면..

index.js 파일이 있다. 

이 파일이 프로그램이 시작되면 자동으로 실행되는 파일로써

프로그램의 입구 라고 보면 된다.

 

index.js 파일의 소스를 보면,

9라인에 <App /> 라는 테그가 보이는데

이 테그는 4라인데 있는 import App from './App'; 라고 보면 된다.

이걸 하나씩 풀어보면 다음과 같다.

import : 다른 경로의 파일이나 내부 함수등을 참조할 때 사용하는 명령어

App : import 된 파일이 이 페이지에서 사용될 명칭을 말한다. 여기서는 App 이라는 명칭으로 사용하겠다고 선언 한 것이고, 이 명칭이 9라인의 <App /> 인 것.

from './App' : 참조할 파일이 있는 경로. ( 참고로 ./ 는 현재 폴더를 말하고 ../는 현재 폴더의 상위 폴더를 말한다. )

'./App' 는 확장자 .js 가 생략되어 있는 것으로, 해당 파일은 동일한 폴더 내의 App.js 파일을 가르킨다.

 

React 자체가 새로운 테그를 정의해서 사용하는 언어이므로

App 이라는 테그를 정의해서 사용한 것을 볼 수 있다.

 

3라인의 ./index.css : 현재 파일의 디자인 관련 내용이 들어있는 파일.

11라인의 document.getElementById('root') : root 라는 아이디에 매핑하라는 뜻으로서,

public 폴더 밑에 index.html 파일에 id="root" 가 존재하며, 이 테그에 매핑한다는 뜻이다.

 

그럼 App.js 파일은 뭔지 들여다보자.

 

App.js 파일의 6라인~21라인이 index.js에 참조 된다는걸 알 수 있다.

만약 해당 라인을 내 마음대로 수정한다면, 나중에 화면을 띄웠을 때 수정된 화면을 볼 수 있을 것이다.

 

4번라인 function App() 을 보다시피 함수로 호출되는 형태인가보다.. 하고 추측해 본다.

2라인의 ./App.css : 해당 페이지의 디자인 부분 코딩이 포함된 파일

 

 

2. 배포

배포는 command line 에서 명령어 타이핑으로 할 것이다.

우선 기존에 npm start 를 해서 서버가 계속 동작중인 상태라면 서버를 종료해주자.

 

터미널이 

이 상태일텐데

 

ctrl+c 를 누르면 서버를 종료할 수 있다.

나는 컨트롤+c를 눌렀더니 일괄 작업을 끝내시겠습니까? 라는 메세지가 떠서 y를 눌렀다.

 

서버가 종료되었다면 npm run build 를 입력하여 소스를 빌드한다.

현재 빌드중...

 

 

빌드가 완료된 모습..

 

 

빌드가 완료되면 좌측 프로젝트 트리에 build 폴더가 생성된다.

그 안의 index.html 파일을 확인해 보면 html 테그가 일렬로 쭉 나열되어 있는걸 확인할 수 있다.

 

이건 배포용 파일은 가독성에 신경쓸 필요가 없으므로 용량을 최대한 줄이는데 초점을 맞춰 개행과 같은 공백을 없앤 것이다.

 

그럼 이제 빌드 된 파일을 실행해 보...기 전에 한가지 알아야 할 게 있다.

아까 빌드할때 나온 메세지를 살펴보면 

 

The build folder is ready to be deployed.
You may serve it with a static server:

  npm install -g serve
  serve -s build

 

라는 메세지가 있다. 위에 빌드가 완료된 이미지에서도 확인 가능하다.

 

serve -s build 라는 명령어를 통해 실행할 수도 있다고 알려주고 있다.

 

여기서 serve 는 웹서버이고, -s 는 사용자가 어떤 경로로 들어오건 index.html 을 실행해주겠다는 것이고,

build는 build 폴더에서 실행하겠다 라는 뜻.

 

serve는 node.js 로 만들어진 어플리케이션이므로 간편하게 실행할때는 npx 명령어를 사용할 수 있다.

 

npx serve -s build 명령어를 입력해보자.

명령어를 입력했더니 serve가 설치되지 않았으니 설치할거냐는 메세지가 보이고, y를 눌러 설치해주었다.

 

그 후 하단에 접속 가능한 경로가 나타났다.

위 경로로 들어가보면 배포된 페이지가 잘 뜨게 된다!

* React 공부를 위해 생활코딩의 강좌를 따라하면서 포스팅 하는 것 뿐이니

자세한건 생활코딩(https://www.youtube.com/c/생활코딩1)을 참고하시라.

 

시작하기에 앞서

React 란??

 - 페이스북(현 meta)에서 개발한 javascript library.

 - 사용자 인터페이스 개발용 라이브러리.

 - 웹 뿐만 아니라 모바일, 가상현실 앱 등을 만들수 있다고 함.

 

사전 지식

 - javascript library 이므로 당연히 javascript를 사용할 줄 알아야 함

 - HTML, CSS 등의 기본 지식이 있어야 함.

 

내 개발환경

 - 운영체제 : Windown10 

 - 개발 툴 : Visual Studio Code (Mac 에도 Visual Studio Code 가 있으므로 운영체제 상관 없음)

 

환경설정 하기

1. 개발 툴 설치

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

위 링크에서 다운로드 후 설치. 

next - next 만 누르면 되므로 어렵지 않음.

 

 

2. node.js 설치

node.js 홈페이지(https://nodejs.org/ko/) 에서 안정적인 LTS 버젼이나 최신 버젼 아무거나 다운로드 한다.

 

둘 중 아무거나 다운받아서 설치

나는 LTS 선택.

설치도 그냥 next. next. 하면 된다.

 

갑자기 node.js를 왜 설치해야 하는지 궁금하다면?

 - 리엑트 홈페이지 (https://ko.reactjs.org/) 를 가보면 리엑트를 시작하기 위한 여러 가이드가 있다.

   그 중, 새로운 react app 만들기 항목에 보면 (https://ko.reactjs.org/docs/create-a-new-react-app.html)

 

새로운 React 앱 만들기 – React

A JavaScript library for building user interfaces

ko.reactjs.org

  추천 툴체인 이라고 해서 리엑트를 배우는 사람은 create react app 을 사용하라고 추천하고 있다. 

  * 위 링크 혹은 하단 이미지 참고.

 

  그 안에는 리엑트 개발을 도와주는 것들이 있다고 한다. 이걸 설치하기 위해서는

  npx 명령어를 써야하고, 이는 node.js 에서 사용하는 명령어 이므로 설치가 요구된다.

create react app 소개

 

어쨋든 node.js는 설치만 하면 되니까 쫄지말자.

 

 

  

3. create-react-app 설치

 

우선 visual studio code를 실행하고 프로젝트 폴더를 등록해 보자.

 

visual studio code를 실행하고 File - Open Folder 선택.

 

원하는 경로에 영문으로 폴더를 하나 만들어주고 그 폴더를 선택한다.

폴더 선택 버튼을 클릭해준다

 

Terminal - New Terminal 선택

 

그러면 하단에 터미널이 탭이 열리고, 윈도우라면 powershell 이 실행되어 있을 것이다.

그런데 powershell 은 오류가 많아서 터미널 종류를 바꿔주자.

터미널 탭 우측에 + 옆에 아래 화살표를 눌러서 Command Prompt로 변경한다.

 

그리고 하단의 명령어 입력.

npx create-react-app .

 

(참로고 . (점)까지 입력해야 한다. 현재 경로에 설치하라는 뜻. 당연히 다른 경로에 설치하고 싶다면 점 대신 경로명을 입력해주면 된다.)

그러면 설치를 진행하겠냐고 물어보는데 y를 누르고 엔터를 처주자.

 

만약 설치가 안되고 

'npx'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라는 에러가 뜨면 

visual studio code를 껐다가 다시 실행하면 명령어가 먹을거다.

그래도 안되면 node.js의 문제일 확률이 높으니 우선 컴퓨터 재부팅을 해보고 그래도 안되면 node.js를 재설치 해보자

 

 

하단 이미지 처럼 Happy hacking! 메세지가 뜨면 설치가 완료된 것이다.

 

그럼 npm start를 입력하여 제대로 됐는지 확인하자.

 

그럼 브라우저가 뜨면서 

이 화면을 볼 수 있다면 설치가 제대로 완료된 것이다.

 

다음부턴 리엑트 개발을 어떻게 하는지 알아보자.

+ Recent posts