본문 바로가기
Front-End/React

[React] Build 후에 CSS 사라짐 현상?

by SeanK 2022. 8. 14.

이번 주 가벼운 마음으로 개인 프로젝트를 진행하다가 배포 업데이트를 하려고 build를 하고 

 

build 된 어플을 실행시켜 보았다. 

 

그런데 이게 뭔 일인지.... 스타일이 몽땅 사라져 있는 것이었다. 

 

이전에 똑같은 방식으로 build 해서 배포할 때는 아무런 문제가 없었는데 갑자기 지금에 와서야 이러는 이유를 모르겠다. 

 

거기다 로컬에서 돌렸을 때는 스타일이 모두 잘 적용되어서 돌아가고 있었다. 

 

무엇이 문제인지 한참을 헤메다가 원인을 찾게 되었다. 

 

원인은 styled-components의 GlobalStyles 컴포넌트 때문이었다. 

 

지금까지 index.js에 <App /> 컴포넌트보다 상위의 위치에 <GlobalStyles /> 컴포넌트를 위치시켰는데, 

 

문서를 살펴본 결과 <App /> 컴포넌트와 같은 위치 혹은 더 아래의 위치에 <GlobalStyles />를 위치시켜야 한다고 한다. 

 

import { AppContainer, Header, Body } from './AppStyles';
import { BrowserRouter, Route, Routes } from 'react-router-dom'
import SideMenu from './Components/SideMenu/SideMenu';
import TopMenu from './Components/TopMenu/TopMenu';
import Router from './router';
import GlobalStyles from './ui/GlobalStyles';

function App() {
  return (
    <AppContainer>
      <GlobalStyles />
      <BrowserRouter>
        <Header>
          <SideMenu /> 
        </Header>
        <Body>
          <TopMenu />
          <Router /> 
        </Body>
      </BrowserRouter>
    </AppContainer>
  );
}

export default App;

따라서 위와 같이 코드를 변경하니 모든 게 잘 작동되었다. 

 

하지만 두 가지 풀리지 않는 의문이 있다. 

 

  • 왜 로컬에서는 잘 작동하였는가?
  • 왜 이전에는 문제가 없다가 갑자기 문제가 발생했는가?

이 부분에 대해서는 짐작되는바가 있지만, 가설일 뿐 아직은 공부가 부족해 정확한 원인을 알지는 못하겠다. 

 

쓰읍...