-->

CSS3

 

https://tailwindcss.com/docs/installation

 

 

 

1. Tailwind CLI를 사용하여 환경 구축

 

웹사이트 개발에  사용할 간단한 환경을 구축하는 데 중점을 둡니다. 다음은 단계별로 설명된 내용입니다:

  1. 프로젝트 폴더 생성: 먼저, "simple-tailwind-starter"라는 이름의 프로젝트 폴더를 만듭니다. 이 폴더는 다른 프로젝트를 시작할 때 복사하여 사용할 수 있는 기본 환경이 됩니다.

  2. VS Code에서 폴더 열기: 폴더를 VS Code에서 열고 터미널을 실행합니다.

  3. Node.js 설치 및 초기화: Node.js가 설치되어 있어야 하며, 터미널에서 다음 명령어를 입력합니다:

 

npm init -y

 

  • 이 명령어는 기본 package.json 파일을 생성합니다.

  • Tailwind CSS 설치:

 

npm install -D tailwindcss


 

  • Tailwind CSS를 개발 의존성으로 설치합니다.

  •  

  •  

  •  

  • 5.Tailwind 설정 파일 생성:

 

npx tailwindcss init

 

이 명령어는 기본 tailwind.config.js 파일을 생성합니다.

이 파일에서 content 배열을 수정하여 현재 루트 폴더에서 HTML 파일을 찾도록 설정합니다:

 

content: ["./*.html"],

 

 

6. Input CSS 파일 생성: 루트 폴더에 input.css 파일을 만들고, 다음 내용을 추가합니다:

@tailwind base;
@tailwind components;
@tailwind utilities;

 

  • PostCSS 확장 프로그램 설치: 만약 파일에서 에러 표시가 나타나면 PostCSS 확장 프로그램을 설치하여 해결합니다.

  • 빌드 및 Watch 스크립트 설정: package.json 파일의 scripts 섹션에 다음 내용을 추가합니다:

 

"scripts": {
  "build": "tailwindcss -i ./input.css -o ./css/style.css",
  "watch": "tailwindcss -i ./input.css -o ./css/style.css --watch"
}

 

  • 이제 npm run build를 실행하면 css/style.css 파일이 생성됩니다.

  • HTML 파일 생성: 루트 폴더에 index.html 파일을 생성하고, Tailwind CSS를 포함하도록 설정합니다:

 

<link href="css/style.css" rel="stylesheet">

 

  1. HTML 파일에 Tailwind 클래스를 사용해 텍스트 크기나 배경색을 테스트할 수 있습니다.

  2. 실시간 서버 실행: VS Code에서 Live Server를 사용하여 HTML 파일을 실시간으로 확인합니다. Tailwind 클래스가 올바르게 적용되었는지 확인할 수 있습니다.

이로써 Tailwind CSS 환경이 완성됩니다. 이 환경을 복사해 다양한 프로젝트에 쉽게 활용할 수 있습니다.

 

 

 

 

 

 

2. Tailwind 디렉티브 사용

해당 내용은 Tailwind CSS 프로젝트를 시작할 때의 기본 설정과 Tailwind의 주요 기능에 대한 설명입니다. 다음은 주요 포인트입니다:

  1. 프로젝트 시작 전: Tailwind 스타터 프로젝트를 복제하여 사용해야 합니다. 이로 인해 원본 스타터를 계속 깨끗하게 유지할 수 있습니다.

  2. 환경 설정: 프로젝트를 복제한 후, npm install 없이 바로 npm run watch를 통해 Tailwind를 실행할 수 있습니다.

  3. Tailwind의 디렉티브 사용:

    • Tailwind는 @tailwind 디렉티브를 통해 기본 스타일, 컴포넌트, 유틸리티, 그리고 변형 스타일을 CSS에 포함시킵니다.
    • @layer 디렉티브를 사용해 Tailwind의 기본 계층(base), 컴포넌트 계층(components), 유틸리티 계층(utilities)을 커스터마이징할 수 있습니다.
  4. 커스텀 클래스 생성:

    • Tailwind의 많은 HTML 클래스 사용을 줄이기 위해 커스텀 클래스를 정의할 수 있습니다.
    • 예를 들어, 버튼 스타일을 커스텀 클래스로 정의한 후, 이 클래스를 HTML에서 재사용할 수 있습니다.
  5. Tailwind의 함수 사용:

    • theme 함수는 Tailwind 설정값을 가져올 수 있습니다. 예를 들어, 사용자 정의 간격(spacing) 값을 CSS에서 참조할 수 있습니다.
    • screen 함수는 반응형 디자인을 구현할 때 브레이크포인트를 지정하는 데 유용합니다.

 

 

ex)

@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base{
    h1{
        @apply text-3xl font-bold text-center;
    }
    h2{
        @apply text-xl;
    }
}

@layer components{
    .btn-blue{
        @apply bg-blue-500 py-2 px-4 rounded-xl font-bold
        text-white hover:bg-blue-700;
    }
}

.content-area{
    @apply bg-green-200;
    height :them('spacing.128');
}

@media screen(xl){
    body{
        @apply bg-black text-white;
    }
}

 

 

 

 

 

 

 

3.Webpack 및 PostCSS 환경

 

1. Webpack의 기본 개념

Webpack은 여러 JavaScript 파일을 하나로 번들링해주는 도구입니다. 예를 들어, 프로젝트에서 utils.js, api.js, app.js라는 세 가지 파일을 사용한다고 가정해 봅시다.

이 세 파일이 서로 종속적일 때, Webpack은 이들을 하나의 파일로 묶어 bundle.js라는 단일 파일로 만들어줍니다. 이 파일만 웹 브라우저에서 로드하면 필요한 모든 코드가 포함되게 됩니다.

 

// utils.js
export function add(a, b) {
  return a + b;
}

// api.js
export function fetchData() {
  return fetch('/api/data').then(response => response.json());
}

// app.js
import { add } from './utils';
import { fetchData } from './api';

console.log(add(2, 3)); // 5
fetchData().then(data => console.log(data));

 

Webpack을 사용하지 않으면 각각의 파일을 HTML에서 개별적으로 불러와야 하지만, Webpack은 이를 하나로 묶어 bundle.js로 처리합니다.

 

 

2. PostCSS와 Tailwind 설정

PostCSS는 Tailwind CSS와 같은 스타일 도구를 효율적으로 처리할 수 있게 해주는 도구입니다. PostCSS는 다양한 플러그인을 지원하며, Tailwind CSS도 그 중 하나입니다. 예를 들어, style.css 파일에 Tailwind의 기본 디렉티브를 추가합니다.

/* src/style.css */
@tailwind base;
@tailwind components;
@tailwind utilities;

 

이제 이 파일을 Webpack이 처리하여 모든 Tailwind 스타일이 번들된 최종 CSS 파일을 만들어 줍니다.

 

 

 

3. 프로젝트 구조 설정

Webpack 설정 파일(webpack.config.js)에서 진입점(entry)과 출력(output) 파일을 지정합니다. 예를 들어, src/index.js가 진입점이라면, 이를 dist/bundle.js라는 파일로 출력합니다.

// webpack.config.js
const path = require('path');

module.exports = {
  mode: 'development',
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader', 'postcss-loader'],
      },
    ],
  },
};

 

위 코드에서 test: /\.css$/는 모든 CSS 파일을 대상으로 스타일, CSS, PostCSS 로더를 적용하겠다는 의미입니다.

 

 

4. Webpack Dev Server 사용

Webpack Dev Server는 개발 중 자동으로 빌드 과정을 처리하고, 변경 사항이 있을 때 자동으로 브라우저를 새로고침해 줍니다. 예를 들어, npm run dev 명령어를 실행하면 로컬 서버가 열리고 코드 변경 시 실시간으로 반영됩니다.

 

// package.json
"scripts": {
  "dev": "webpack serve --open --hot"
}

 

이 설정으로 로컬 서버를 띄우면, 변경사항이 발생할 때마다 자동으로 새로고침됩니다.

 

 

5. Tailwind CSS 적용 예시

src/style.css에 Tailwind CSS를 설정한 후, HTML 파일에서 Tailwind 클래스를 적용해 봅니다.

<!-- dist/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Webpack Tailwind Starter</title>
</head>
<body class="bg-gray-200">
  <h1 class="text-5xl font-bold text-center text-blue-500">Hello, Tailwind with Webpack!</h1>
  <script src="./bundle.js"></script>
</body>
</html>

 

 

위와 같이 Tailwind 클래스를 HTML에 추가하면, Webpack이 스타일을 포함한 최종 번들 파일을 처리해 줍니다.

 

전체 과정 요약

  1. Webpack을 이용해 여러 JavaScript 파일과 모듈을 하나의 번들로 묶어 처리.
  2. PostCSS와 Tailwind CSS를 함께 설정하여 CSS 처리.
  3. Webpack Dev Server로 핫 리로딩을 지원해 개발 생산성 향상.
  4. Tailwind CSS 스타일을 HTML에 적용해 유연한 디자인 가능.

 

 

 

 

 

 

about author

PHRASE

Level 1  라이트

댓글 ( 0)

댓글 남기기

작성