데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      Vite를 이용한 FrontEnd프로젝트

      Teus 25.01.23
      4,406 10 3
      DEVOTEE 요약
      Vite는 React뿐만 아니라 Vue, Svelte 등 다양한 프레임워크를 지원하면서도 빠른 속도로 프로젝트를 생성할 수 있는 도구입니다. CRA보다 가볍고 성능이 뛰어나며, 프로젝트 생성부터 설정까지 매우 간단하게 진행할 수 있습니다. 또한, Vite는 SSR 지원과 함께 기존 CRA 사용자가 쉽게 적응할 수 있는 구조를 갖추고 있어, 프런트엔드 개발에 효율적으로 활용될 수 있습니다.

      안녕하세요. Teus입니다.


      이번에 다룰 포스팅은, React Project를 만드는 새로운 방법인 Vite에 대해서 다룹니다.


      0. Vite

      기존에 React Project를 만들때, 다들 Create React App 을 사용해서 Project를 생성 하셨을 겁니다.

      CRA는 의존성 등을 전부 관리해 줘서 편리합니다.

      하지만 새로운 Project를 만들거나, React Server를 다시 실행 시키는데 굉장히 무겁게 동작합니다.

      Vite같은 경우 React뿐만 아니라 Vue, svelte등을 지원 하면서도

      보다 빠르게 동작할 수 있게 Bundle 방식에서 Native ESM 방식으로 구동하게 구현 되어있습니다.


      1. Vite로 React Project만들기

      Vite의 경우 npm이나 yarn으로 모두 가능합니다.

      npm을 사용할 경우, 아래와 같은 커맨드를 사용해서 vite를 사용한 project를 만들 수 있습니다.

       npm create vite@latest

      뿐만 아니라 다른 유저가 github에 올려놓은 템플릿을 가지고와서 실행하는것 역시 가능합니다.


      여튼 이렇게 vite를 실행시키면, 아래와같이 어떤 project를 사용할지, 어떤 언어를 사용할지 선택할 수 있습니다.

      image.png

      image.png

      image.png


      굉장히 빠르게 프로젝트가 생성되게 되고 생성된 프로젝트를 initialize할 수가 있습니다.

      cd my_vite_pjt
      npm install
      npm run dev

      image.png


      사내환경 기준으로 2분 만에 설치가 완료되고, 정상적인 웹페이지를 확인할 수 있습니다.

      image.png

      실제로 Hynix내부에서 활용하던 Project를 CRA -> vite로 변경하면서 보다 생산성 높은 프로젝트 진행이 가능하게 되었습니다.


      2. Vite React Project 구조

      Vite의 경우, public 폴더 없이 index.html이 project 최 상단에 있습니다.

      vite-project
        -node_modules
        -public
        -src
        .gitignore
        eslint.config.js
        index.html
        package-lock.json
        pacakage.json
        README.md
        vite.config.js

      그리고, 우리가 수정해야하는 src폴더내에서는 main.jsx 내에서 App.jsx를 import해와서 사용하는 구조를 가지고 있어서,

      기존 CRA(Create React App) 사용자 입장에서는 거의 진입장벽 없이 사용이 가능합니다.

      //main.jsx
      import { StrictMode } from 'react'
      import { createRoot } from 'react-dom/client'
      import './index.css'
      import App from './App.jsx'
      
      createRoot(document.getElementById('root')).render(
        <StrictMode>
          <App />
        </StrictMode>,
      )
      //App.jsx
      import { useState } from 'react'
      import reactLogo from './assets/react.svg'
      import viteLogo from '/vite.svg'
      import './App.css'
      
      function App() {
        const [count, setCount] = useState(0)
      
        return (
          <>
            ...
          </>
        )
      }
      
      export default App


      3. SSR(Service Side Renderering)

      vite는 자체적으로 SSR을 지원해 줍니다.

      공식 문서에서 아래 대중적인 프래임워크에 대한 SSR 예제를 준비해 두었기 때문에, 초심자 입장에서는 빠르게 SSR이 뭔지 실험해 볼 수 있는 기능이 유용해 보입니다.

      image.png


      4. 이모저모

      FE쪽은 확실히 React라는 프래임워크 하에 천하통일(?)이 된 느낌입니다.

      대신, 이 React를 어떻게 사용할 지에 대한 기술들이 계속 변하고 있는것 같네요.

      CRA에서 지원되던 기능들은 거의 대부분 지원이 되기 때문에, 한번 Vite의 사용을 고려해보시기 바랍니다!🙃

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      Teus 님의 최신 블로그

      더보기
      동영상 기고하기