안녕하세요! 제이덥입니다~ 오늘은 React.js로 웹페이지 Footer/Header를 만들려고 하는데요! TailwindCSS Config를 다루고 해당되는 부분의 코드를 함께 작성해보려고 합니다!
+) yarn이 안깔려 있는 분은 여기로!
+) react가 안깔려 있는 분은 여기로!
npm create-react-app <web이름>
을 입력해주면 됩니다. yarn create react-app webstructure
yarn start
그럼 설치해볼까요? 설치는 다음과 같은 입력어를 통해 설치해줄 수 있습니다. 본인이 쓰고 있는 것을 이용해서 설치해주시면 됩니다.
yarn add -D tailwindcss postcss autoprefixer
npm install -D tailwindcss
아래와 같이 나오면 저희가 활용할 CSS설치까지 마무리 되었네요!
이제 tailwind.config.js파일을 추가해줍니다! 아래 명령어를 추가해주시면tailwind.config.js파일이 추가된 것을 보실 수 있습니다!
npx tailwindcss init
이후 tailwindcss파일을 다음과 같이 수정해주세요! 전체 복사하셔서 기존 있던 내용을 모두 지우시고 넣어주시면 됩니다~!
module.exports = {
content: [
"./src/**/*.{js,jsx,ts,tsx}",
],
theme: {
extend: {},
},
plugins: [],
}
그리고 추가로 src > index.css파일에 들어가서 해당 내용을 깔끔하게 날리신 뒤에~ 이 내용을 추가해주시면 됩니다 :)
// index.css 파일 내부 내용
@tailwind base;
@tailwind components;
@tailwind utilities;
yarn add @craco/craco
npm install @craco/craco
이것 또한 아래와 같이 나오면 설치가 완료가 된거에요~!
그리고 이제 craco를 이용해서 PostCSS를 활용할 수 있도록 craco.config.js
파일을 만들어줍니다. 코드는 다음과 같아요~
module.exports = {
style: {
postcssOptions: {
plugins: [require('tailwindcss'), require('autoprefixer')],
},
},
};
주의해야하는 부분은 아래와 같이 가장 상위 디렉토리에 저장을 시켜야한다는 것!
마지막으로 package.json
에 이부분을 요렇게 수정해줍니다!
"start": "craco start",
"build": "craco build",
"test": "craco test"
위에 코드를 해당하는 부분에 찾아서 붙이시면 됩니다 :)
그럼 모든 세팅은 끝났습니다! Header와 Footer를 만들어볼까요?
오늘은 Header와 Footer를 만들건데요. 제가 작성한 코드를 임의로 넣어주시면 될 것 같습니다. React-script가 5로 업데이트가 되서 실행이 잘 안되는게 많을 텐데요. craco가 특히 문제가 많다구 하네요;; 빨리 craco가 업데이트 되길바라며.... 아래 따라하시고, 문제 생기시면 연락을 주시기 바랍니다! 시험 화이팅~
우리는 이제 App.css파일이 필요없습니다! src에 있는 App.css 파일을 지워주시고, App.js에 있는 아래 문장을 삭제해줍니다!
import './App.css'
App.js파일을 아래와 같이 수정해줍니다! 전체 내용을 지우시고 복사 붙여넣기 해주시면 됩니다!
import logo from './static/photo/logo.png';
import './index.css';
function App() {
const currentDay = new Date();
const currentYear = currentDay.getFullYear();
return (
<div className="App">
<header className="fixed inset-x-0 top-0 z-50 left-0 bg-white text-gray-700 body-font border-b border-gray-200">
<div className="container mx-auto flex flex-wrap p-5 flex-col md:flex-row items-center">
<div
className="flex title-font font-medium items-center text-gray-900 mb-4 md:mb-0"
>
<img alt="logo" src={logo} className="w-8 h-8 -mr-1" />
<span className="ml-3 text-xl text-indigo-500">동글동글 코인 지표 인덱스</span>
</div>
<nav className="md:ml-auto flex flex-wrap items-center text-base justify-center">
<div className="mr-5 hover:text-gray-900">
Speedometer
</div>
<div className="mr-5 hover:text-gray-900">
Graph
</div>
<div className="mr-5 hover:text-gray-900">
Chart
</div>
</nav>
</div>
</header>
<section className="containe mb-8 mt-24">
Speedometer가 들어갈 자리입니다!
</section>
<section className="containe mb-8 mt-8">
Graph가 들어갈 자리입니다!
</section>
<section className="containe mb-8 mt-8">
Chart가 들어갈 자리입니다!
</section>
<footer className="text-gray-700 body-font">
<div className="bg-gray-200">
<div className="container mx-auto pt-4 px-5 flex flex-wrap flex-col sm:flex-row">
<p className="text-gray-500 text-sm text-center sm:text-left">
© {currentYear} 동글동글
</p>
<span className="sm:ml-auto sm:mt-0 mt-2 sm:w-auto w-full sm:text-left text-center text-gray-500 text-sm">
경기도 용인시 처인구 모현읍 외대로 81, 한국외국어대학교
</span>
</div>
<div className="container mx-auto pb-4 px-5 flex flex-wrap flex-col sm:flex-row">
<span className="sm:ml-auto sm:mt-0 mt-2 sm:w-auto w-full sm:text-left text-center text-gray-500 text-sm">
Developed by 김도영, 김주원, 김태우, 정서영
</span>
</div>
</div>
</footer>
</div>
);
}
export default App;
이후 yarn start
혹은 npm run start
를 눌러주시면 바로 시작하실 수 있습니다! 아래 같은 화면에서 원하는 대로 디자인을 고쳐보세요!
파일 구조 및 코드는 아래 깃헙주소에서 확인하실 수 있습니다!
+) 파일 구조 및 코드보러 깃헙에 가기!