티스토리 뷰
1. React에서 css를 사용하려면 loader와 webpack 설정을 해 주어야 한다.
1-1 우선 css-loader, style-loader를 설치한다. webpack에서는 이 두개를 같이 사용하는 것을 권장하고 있다.
1-2 css-loader는 @import, url() 같은 구문을 해석하고 적용해 준다.
1-3 style-loader는 <style>테그를 통해서 CSS를 DOM에 적용해 준다.
1-4 이제 webpack.config.js파일에서 css파일을 검색하여 적용할 수 있도록 설정해야 한다.
1-4-1 아래의 파일을 보면 module 아래의 rules안에 새로운 객체를 열어 새로운 rule을 등록한다.
1-4-2 test는 .css로 끝나는 파일을 찾아 css-loader와 style-loader를 적용하도록 등록한다.
1-4-3 style-loader, css-loader 순서로 등록해야 한다. 이 순서가 아주 중요하다. 반대로 하면 동작하지 않는다.
const path = require('path')
module.exports = {
mode: 'development',
entry: './src/app.js',
output: {
path: path.join(__dirname, 'public'),
filename: 'bundle.js'
},
module: {
rules: [{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: [
'@babel/preset-env',
'@babel/preset-react'
],
"plugins": [
["@babel/plugin-proposal-class-properties", { "loose": true }]
]
}
}
}, {
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
}]
},
devServer: {
contentBase: path.join(__dirname, 'public'),
port: 8081
},
devtool: 'eval-cheap-module-source-map',
}
1-5 이젠 프로그램에 적용될 수 있도록 css파일을 생성해야 한다.
1-5-1 src폴더 아래에 styles 폴더를 생성하고 styles.css파일을 만든다.
1-5-2 내용은 아무 것이나 테스트를 위해서 넣어준다.
body {
color: blue;
background-color: gray;
}
1-5-3 이제 이 css를 사용하도록 컴포넌트에서 import 해본다. TodoApp.js에서 아래처럼 등록한다.
1-5-3-1 import 부분의 제일 아래를 보면 styles.css를 import하는 부분이 있다.
import React from 'react'
import Header from './Header'
import Action from './Action'
import TodoList from './TodoList'
import AddTodo from './AddTodo'
import TodoModal from './TodoModal'
import '../styles/styles.css'
export default class TodoApp extends React.Component {
1-6 결과 화면
'Client Technologies > React' 카테고리의 다른 글
CORS, Cookie: React, Spring Boot (0) | 2024.03.09 |
---|---|
React : SCSS 사용하기 (0) | 2020.11.22 |
React : React Modal 사용하기 (0) | 2020.11.16 |
React : proposal-class-properties 사용하기 (0) | 2020.10.29 |
React : 각 컴포넌트를 각 파일에 분리하여 관리하기 (0) | 2020.10.28 |
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- Rest
- Security
- spring boot
- 매핑
- form
- 설정하기
- 설정
- one-to-many
- crud
- 스프링
- Spring
- Angular
- 로그인
- mapping
- Many-To-Many
- XML
- 스프링부트
- 상속
- RestTemplate
- hibernate
- 하이버네이트
- MYSQL
- one-to-one
- WebMvc
- jsp
- login
- 자바
- 외부파일
- Spring Security
- Validation