Ant-design: ꡬ성 μš”μ†Œ CSS κ°€μ Έμ˜€κΈ°μ— ν¬ν•¨λœ μ „μ—­ CSS

에 λ§Œλ“  2016λ…„ 12μ›” 21일  Β·  89μ½”λ©˜νŠΈ  Β·  좜처: ant-design/ant-design

이 ν›Œλ₯­ν•œ λ„μ„œκ΄€μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

babel-plugin-import λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λ“ˆμ‹ CSS κ°€μ Έμ˜€κΈ°λ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ κ°œλ³„ ꡬ성 μš”μ†Œμ— λŒ€ν•œ CSS와 ν•¨κ»˜ κΈ°μ‘΄ μŠ€νƒ€μΌμ„ λ°©ν•΄ν•˜λŠ” λ§Žμ€ κΈ€λ‘œλ²Œ CSSλ₯Ό κ°€μ Έμ˜€κ³  μžˆμŠ΅λ‹ˆλ‹€. μ „μ—­ CSSλ₯Ό ν¬ν•¨ν•˜μ§€ μ•Šκ³  κ°œλ³„ ꡬ성 μš”μ†Œμ˜ CSSλ₯Ό κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆκΉŒ?

감사 ν•΄μš”!

πŸ—£ Discussion πŸ™…πŸ»β€β™€οΈ WON'T RESOLVE

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

κ·Έλž˜λ„ λ”μ°ν•œ λ””μžμΈμž…λ‹ˆλ‹€.

λͺ¨λ“  89 λŒ“κΈ€

이와 같은 CSS κ·œμΉ™μ„ μ˜λ―Έν•©λ‹ˆκΉŒ?

html,
body {
  ...
}

예.

μ§€κΈˆ ν•΄λ‹Ή CSS κ·œμΉ™μ„ κ°€μ Έμ˜€μ§€ μ•ŠλŠ” 것은 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€.

https://github.com/ant-design/ant-design/issues/1966#issuecomment -247946641

이제 μ΄λŸ¬ν•œ μ „μ—­ μŠ€νƒ€μΌμ„ μž¬μ •μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.


λ˜λŠ” babel-plugin-import 의 style μ˜΅μ…˜μ„ μ‚­μ œν•˜κ³  더 적은 수의 νŒŒμΌμ„ λ…λ¦½μ μœΌλ‘œ κ°€μ Έμ˜΅λ‹ˆλ‹€.

<strong i="12">@import</strong> "~antd/lib/style/themes/default.less";
<strong i="13">@import</strong> "~antd/lib/button/style/index.less";

κ·Έλž˜λ„ λ”μ°ν•œ λ””μžμΈμž…λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” 이 라이브러리λ₯Ό μž‘μ—…ν•˜κΈ° 맀우 μ–΄λ ΅κ²Œ λ§Œλ“­λ‹ˆλ‹€. 특히 body 등에 λŒ€ν•œ μ „μ—­ 속성이 μžˆμŠ΅λ‹ˆλ‹€. 이 문제λ₯Ό λ³€κ²½ν•  κ³„νšμ΄ μ—†λŠ” ν•œ 이 문제λ₯Ό 훨씬 더 λͺ…ν™•ν•˜κ²Œ ν•΄μ•Ό ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

@Forestdev @peitalin μ•Œλ €μ§„ λ¬Έμ œμ΄μ§€λ§Œ 이 문제λ₯Ό ν•΄κ²°ν•  μ‹œκ°„μ΄ μΆ©λΆ„ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ μ—¬κΈ°μ„œ 계속 λ…Όμ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” λ³€κ²½ 사항을 κ°€μ Έμ˜¬ 수 μžˆλ‹€λ©΄ 이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ ꡬ성 μš”μ†Œμ˜ μŠ€νƒ€μΌλ‘œ μž¬μ„€μ •ν•  λ•Œ μŠ€νƒ€μΌμ„ μ΄λ™ν•©λ‹ˆλ‹€.

μ΄λ™ν•˜λ‹€:

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); //  remove tap highlight color for mobile safari
}

μ—κ²Œ:

.ant-btn,
.ant-btn * {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); //  remove tap highlight color for mobile safari
}

그리고 이전 λ²„μ „κ³Όμ˜ ν˜Έν™˜μ„±μ„ μœ„ν•΄ λ…λ¦½ν˜• μž¬μ„€μ • μŠ€νƒ€μΌμ‹œνŠΈλ₯Ό μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

import 'antd/styles/reset.less'

이것에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

λ…Όμ˜ν•  μˆ˜λŠ” μžˆμ§€λ§Œ μ†”λ£¨μ…˜μ„ 찾을 수 μžˆλŠ” 경우 μ§€κΈˆ μ μš©ν•  μ‹œκ°„μ΄ μ—†μŠ΅λ‹ˆλ‹€.

λ§Žμ€ μ‚¬λžŒλ“€μ΄ κΈ€λ‘œλ²Œ CSSλ₯Ό κ°€μ Έμ˜€κ³  κΈ°μ‘΄ μŠ€νƒ€μΌμ„ μž¬μ •μ˜ν•  μ—¬μœ κ°€ μ—†κΈ° λ•Œλ¬Έμ— 이것이 μ€‘μš”ν•œ 문제라고 μƒκ°ν•©λ‹ˆλ‹€.

그것은 λ‚΄κ°€ Antdλ₯Ό μ±„νƒν•˜λŠ” 것을 λ§‰λŠ” 정말 μ„±κ°€μ‹  μΌμž…λ‹ˆλ‹€.

이것은 λ§Žμ€ 개발자λ₯Ό μ°¨λ‹¨ν•©λ‹ˆλ‹€#

antλŠ” bootstarp와 ν˜Έν™˜λ˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— ant μ‚¬μš©μ„ 포기해야 ν–ˆμŠ΅λ‹ˆλ‹€.

적은 수의 νŒŒμΌμ„ 독립 λΌμ΄λΈŒλŸ¬λ¦¬μ— λ„£λŠ” 것은 μ–΄λ–»μŠ΅λ‹ˆκΉŒ?

btw. λ‚˜λŠ” λ…Έλ ₯ν•˜κ³ μžˆλ‹€

μ•ˆλ…•ν•˜μ„Έμš”, μ €λŠ” [email protected] μ—μ„œ μž‘μ—… 쀑이며 κΈ€λ‘œλ²Œ μŠ€νƒ€μΌ λ¬Έμ œμ— λŒ€ν•œ μ†”λ£¨μ…˜μ„ 찾으렀고 ν•©λ‹ˆλ‹€.

@benjycuiμ—μ„œ import 'antd/styles/reset.less' 의 μ†”λ£¨μ…˜μ„ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. 특히 babel-plugin-importλ₯Ό μ‚¬μš©ν•˜λ©΄ 쀑단 변경이 되고 μŠ€νƒ€μΌ κ°€μ Έμ˜€κΈ°κ°€ 훨씬 더 λ³΅μž‘ν•΄μ§‘λ‹ˆλ‹€. κ·Έλž˜μ„œ νŒ¨μŠ€ν•˜κΈ°λ‘œ ν•©λ‹ˆλ‹€.

그런 λ‹€μŒ 이 문제의 μš”μ μ€ babel-plugin-import 에 κ΄€ν•œ κ²ƒμœΌλ‘œ μ½”λ“œλ₯Ό λ‹€μŒκ³Ό 같이 λ³€ν™˜ν•©λ‹ˆλ‹€.

import Button from 'antd/lib/button';
import 'antd/lib/button/style/css';   // It will import reset styles and hard to override it because it was imported lately!!!

이에 λŒ€ν•œ 더 λ‚˜μ€ ν•΄κ²° 방법은 babel-plugin-import style μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ§€ μ•Šκ³  μˆ˜λ™μœΌλ‘œ μŠ€νƒ€μΌμ„ κ°€μ Έμ˜€λŠ” κ²ƒμž…λ‹ˆλ‹€.

<strong i="17">@import</strong> '~antd/dist/antd.css';

// your global styles
body {
 ...
}

κ·Έλž˜μ„œ λ‚˜λŠ” 전체 reset.less 아이디어λ₯Ό ν¬κΈ°ν•˜κ³  λ‹€μŒκ³Ό 같은 μ„±κ°€μ‹  μž¬μ„€μ • μ½”λ“œλ₯Ό μ œκ±°ν•©λ‹ˆλ‹€. https://github.com/ant-design/ant-design/blob/afce275d25abe958b32cf15ba1f16c49f4fca900/components/style/core/base. 적은#L33 -L50

λ˜ν•œ #6162λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ bootstrap@v4 μ—μ„œ 더 λ‚˜μ€ νƒ€μ΄ν¬κ·Έλž˜ν”Ό μ½”λ“œλ₯Ό μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  μ—…λ°μ΄νŠΈλŠ” ν˜„μž¬ #7682에 있으며 곧 antd-3.0에 λ³‘ν•©λ©λ‹ˆλ‹€.

import 'antd/styles/reset.less λ₯Ό import 'antd/styles/typography.less 둜 λ³€κ²½ν•˜μ‹­μ‹œμ˜€.

μ‚¬μš©μžκ°€ [email protected] μ—μ„œ μ—…κ·Έλ ˆμ΄λ“œν•  λ•Œ import 'antd/styles/typography.less λŠ” λ§ˆμ΄κ·Έλ ˆμ΄μ…˜μ„ μ‰½κ²Œ λ§Œλ“œλŠ” μ–΄λŒ‘ν„°μž…λ‹ˆλ‹€.

antdλ₯Ό 처음 μ ‘ν•˜λŠ” μ‚¬μš©μžμ˜ 경우 import 'antd/styles/typography.less λŠ” 선택적 κΈ°λŠ₯μ΄λ―€λ‘œ μΆ©λŒμ— λŒ€ν•΄ κ±±μ •ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

antd/style/v2-compatible-reset.less 을(λ₯Ό) μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.

+// For 2.x reset compatibility
+//   import 'antd/style/v2-compatible-reset';
+//     or
+//   <strong i="7">@import</strong> '~antd/style/v2-compatible-reset.css';

이 λ¬Έμ œκ°€ ν˜„μž¬ μ’…λ£Œλ˜μ—ˆμœΌλ―€λ‘œ λˆ„κ΅°κ°€ 이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ λͺ‡ 가지 단계λ₯Ό μ„€λͺ…ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? 크둬 ν™•μž₯의 μ½˜ν…μΈ  μŠ€ν¬λ¦½νŠΈμ—μ„œ antdλ₯Ό μ‚¬μš©ν•˜λ €κ³  ν•˜λŠ”λ° λͺ¨λ“  μ›ΉνŽ˜μ΄μ§€κ°€ μ—‰λ§μž…λ‹ˆλ‹€.

@abhinavzspace antd@next λ₯Ό μ„€μΉ˜ν•˜μ—¬ 3.0 Alpha λΉŒλ“œλ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ 이 λ¬Έμ œκ°€ μ–΄λŠ 정도 ν•΄κ²°λ˜μ§€λ§Œ μ™„μ „νžˆλŠ” μ•„λ‹™λ‹ˆλ‹€.

λ§Žμ€ μ‹œκ°„μ΄ μ§€λ‚œ ν›„ μ €μ—κ²Œ λ§žλŠ” μ†”λ£¨μ…˜μ„ μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ λΆ„λ“€μ—κ²ŒλŠ” νš¨κ³Όκ°€ μžˆμ„μ§€λ„...

λ¬Έμ œλŠ” 각 ꡬ성 μš”μ†Œκ°€ style/core/base.less μ—μ„œ λ§Žμ€ μ „μ—­ μž¬μ„€μ • 및 μž¬μ •μ˜(normalize.css 포함)λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€. 이 μŠ€νƒ€μΌμ΄ λΉ„λ™κΈ°μ‹μœΌλ‘œ λ‘œλ“œλ˜λ©΄ λͺ¨λ“  것을 μ—‰λ§μœΌλ‘œ λ§Œλ“œλŠ” νŽ˜μ΄μ§€ μŠ€νƒ€μΌμ„ μž¬μ •μ˜ν•©λ‹ˆλ‹€.

μΆ”κ°€ν•˜λŠ” 것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

import 'antd/lib/style/index.css'
// import 'antd/lib/style'  if you are using LESS

λ‚΄ ν”„λ‘œμ νŠΈμ˜ μ§„μž…μ μœΌλ‘œ μ„€μ •ν•˜λ©΄ μ›ΉνŒ© 팩이 λ‹€λ₯Έ λͺ¨λ“  μŠ€νƒ€μΌλ³΄λ‹€ λ¨Όμ € μž¬μ„€μ •λ˜λ―€λ‘œ 비동기 ꡬ성 μš”μ†Œκ°€ λ‘œλ“œλ  λ•Œ μž¬μ„€μ •μ„ λ‹€μ‹œ κ°€μ Έμ˜€κ±°λ‚˜ ν¬ν•¨ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

각 ꡬ성 μš”μ†Œμ— λŒ€ν•΄ λ‹€λ₯Έ index.lessλ₯Ό μ œκ³΅ν•΄μ•Ό ν•©λ‹ˆκΉŒ? index.lessλ₯Ό μ œμ–΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ 거의 λͺ¨λ“  파일이 @import μ§€μ‹œλ¬Έμ„ μ œκ±°ν•˜κ±°λ‚˜ @import (μ°Έμ‘°)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

쒋은 해결책이 λ κΉŒμš”?

큭큭큭큭큭큭큭큭큭 λͺ¨λ“  μ‚¬λžŒμ΄ 이것이 μ•Œλ €μ§„ λ¬Έμ œμž„μ„ μ•Œ 수 μžˆλ„λ‘ 이 λ¬Έμ œλŠ” "곡개" μƒνƒœμ—¬μ•Ό ν•©λ‹ˆλ‹€. 이것을 μœ„ν•΄ ν”„λ‘œμ νŠΈ 쀑간에 antdλ₯Ό λ²„λ ΈμŠ΅λ‹ˆλ‹€.

이것은 μ§„μ§œ λΆ€λ„λŸ¬μš΄ μΌμž…λ‹ˆλ‹€. Antκ°€ λ‚˜μ—κ²Œ μΆ”μ²œλ˜μ—ˆκ³  μœ λ§ν•΄ λ³΄μ΄μ§€λ§Œ 이 λ™μž‘μ€ κΈ°μ‘΄ λ””μžμΈμ„ μ—‰λ§μœΌλ‘œ λ§Œλ“€κ³  Antκ°€ Bootstrap처럼 λŠκ»΄μ§€κ²Œ λ§Œλ“­λ‹ˆλ‹€. 😦

AntλŠ” 자체 ꡬ성 μš”μ†Œμ˜ λͺ¨μ–‘에 λŒ€ν•΄ μ˜κ²¬μ„ μ œμ‹œν•΄μ•Ό ν•˜μ§€λ§Œ μ‚¬μš©μž μ‚¬μ΄νŠΈμ˜ λͺ¨μ–‘에 λŒ€ν•΄μ„œλŠ” μ˜κ²¬μ„ μ œμ‹œν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” Ant 3κ°€ 이 문제λ₯Ό μˆ˜μ •ν•¨μ„ μ˜λ―Έν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ €λŠ” μ—¬μ „νžˆ λ§Žμ€ κΈ€λ‘œλ²Œ μŠ€νƒ€μΌμ„ 보고 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ „μ—­ μŠ€νƒ€μΌμ„ μΆ”κ°€ν•˜μ§€ μ•ŠμœΌλ €λ©΄ μ‚¬μš©μžλŠ” μ–΄λ–»κ²Œ ν•΄μ•Ό ν•©λ‹ˆκΉŒ?

@openjck λ‚˜λŠ” 이것이 μ „μ—­ μŠ€νƒ€μΌμ„ μž¬μ„€μ •ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μΈλ‹€λŠ” 것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€(λ‚΄ React μ§„μž…μ μ— μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€).

import 'antd/lib/style/v2-compatible-reset';

κ·Έλ“€μ˜ λ³€κ²½ 둜그 에 λ¬»ν˜€ μžˆλŠ” 것을 λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” κ·Έ λ©”λͺ¨λ₯Ό μ°Ύμ•˜μ§€λ§Œ 그것은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λ¬Έμ„œκ°€ 맀우 ν¬λ°•ν•©λ‹ˆλ‹€. λ‹€λ₯Έ μŠ€νƒ€μΌ κ΄€λ ¨ μˆ˜μž…ν’ˆμ€ 무엇이며 μ–΄λ–€ μˆœμ„œλ‘œ ν•˜μ˜€μŠ΅λ‹ˆκΉŒ?

Ant μŠ€νƒ€μΌμ— κ΄€ν•œ ν•œ 그게 μ „λΆ€μž…λ‹ˆλ‹€. λ‚˜λ„ style: true 섀정을 μ‚¬μš©ν•˜κ³  μžˆλŠ”λ° μ΄λŠ” μ€‘μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ–΄λ–€ κΈ€λ‘œλ²Œ μŠ€νƒ€μΌμ˜ λ³€ν™”κ°€ λ³΄μ΄λ‚˜μš”?

λ‚˜λŠ” webpacker 및 rails와 ν•¨κ»˜ Reactλ₯Ό μ‚¬μš©ν•˜κ³  있으며 이전에도 같은 λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ HTML λ³΄κΈ°μ—μ„œ stylesheet_pack_tag μ•„λž˜μ— κΈ°μ‘΄ CSS 파일 μ΄λ¦„μ˜ μŠ€νƒ€μΌμ‹œνŠΈ 링크 νƒœκ·Έλ₯Ό μΆ”κ°€ν•˜λ©΄ μž‘λ™ν•©λ‹ˆλ‹€.
= javascript_pack_tag 'root'
= stylesheet_pack_tag 'root'
= stylesheet_link_tag 'application'

@jhdavids8 , style: true 을 어디에 μ„€μ •ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ? 그것이 λ‚΄ 섀정에 μ μš©λ˜λŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” create-react-app을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ¬Έμ„œ μ—μ„œλŠ” κΈ°λ³Έ μŠ€νƒ€μΌμ‹œνŠΈ 쀑 ν•˜λ‚˜μ— 이것을 μΆ”κ°€ν•  것을 ꢌμž₯ν•©λ‹ˆλ‹€.

<strong i="10">@import</strong> '~antd/dist/antd.css';

...ν•˜μ§€λ§Œ κ·Έλ ‡κ²Œ ν•˜λ©΄ 본문에 μ„€μ •λœ κΈ€κΌ΄ λͺ¨μŒ 및 쀄 높이와 같은 μ „μ—­ μŠ€νƒ€μΌ 변경이 λ„μž…λ©λ‹ˆλ‹€.

μš”μ²­ μ‹œ μŠ€νƒ€μΌμ„ κ°€μ Έμ˜€κΈ° μœ„ν•΄ μ—¬κΈ° 에 μ„€λͺ…λœ λŒ€λ‘œ babel-plugin-import λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. style: true μ˜΅μ…˜μ€ Sass μ†ŒμŠ€ νŒŒμΌμ„ κ°€μ Έμ˜€λŠ” λ°©λ²•μž…λ‹ˆλ‹€( μ°Έμ‘° ). Ant ν…Œλ§ˆλ„ 크게 μ‚¬μš©μž μ •μ˜ν•  λ•Œ ν•„μš”ν•©λ‹ˆλ‹€.

우리 νŒ€μ€ κΈ€λ‘œλ²Œ μŠ€νƒ€μΌ λ•Œλ¬Έμ— antdλ₯Ό ν¬κΈ°ν–ˆμŠ΅λ‹ˆλ‹€ 😭 . λ°”μ˜μ‹œκ² μ§€λ§Œ 이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλŠ” 방법을 찾으면 antd의 λ²”μœ„κ°€ κΈ‰κ²©νžˆ λŠ˜μ–΄λ‚  κ²ƒμž…λ‹ˆλ‹€.

이 문제λ₯Ό λ‹€μ‹œ μ—¬μ‹­μ‹œμ˜€. λ‚˜λŠ” μ—¬μ „νžˆμ΄ 행동을보고 있으며 λ‹€λ₯Έ μ‚¬λžŒλ“€λ„ λ§ˆμ°¬κ°€μ§€μž…λ‹ˆλ‹€.

+1

+1

λ‚΄κ°€ μΆ”κ°€ν•œ μ „μ—­ cssλŠ” 맀번 /lib/style/index.css 쀑간에 νŒ¨ν‚€μ§•λ  κ²ƒμž…λ‹ˆλ‹€. μ €λŠ” κ·Έλƒ₯ antdλ₯Ό μ œκ±°ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.
IE 10-μ—μ„œ μ˜¬λ°”λ₯Έ λ””μŠ€ν”Œλ ˆμ΄λ₯Ό μΆ”κ°€ν•˜μ‹­μ‹œμ˜€.
λ’€
HTML,
λͺΈ {
λ„ˆλΉ„: 100%;
높이: 100%;
}
μ™œ κ·Έλ ‡κ²Œ μ–΄λ €μš΄μ§€... μ‚¬μš©μž μ •μ˜ μ „μ—­ CSSλ₯Ό /lib/style/index.css 끝에 λ°°μΉ˜ν•  수 μ—†λŠ” 이유

+1

+1

@afc163이 μ„€λͺ…ν•œ λ°©μ‹μœΌλ‘œ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ‹€λŠ” 것을 μ•Œμ•˜μŠ΅λ‹ˆλ‹€.

일반적으둜 import 'antd/lib/tabs/style/css'; ν•˜λ©΄ λ‹€μŒμ΄ ν¬ν•¨λœ νŒŒμΌμ„ κ°€λ¦¬ν‚΅λ‹ˆλ‹€.

'use strict';
require('../../style/index.css');
require('./index.css');

Tabs CSSλ₯Ό κ°€μ Έμ˜€κ³  μ‹Άμ—ˆμœΌλ―€λ‘œ 이것을 ꡬ성 μš”μ†Œ νŒŒμΌμ— μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.

import 'antd/lib/tabs/style/index.css';

그리고 νŽ˜μ΄μ§€μ˜ λ‚˜λ¨Έμ§€ 뢀뢄에 영ν–₯을 주지 μ•Šκ³  νƒ­ ꡬ성 μš”μ†Œμ˜ μŠ€νƒ€μΌμ„ μ μ ˆν•˜κ²Œ μ§€μ •ν•˜λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ 첫 번째 μŠ€νƒ€μΌμ΄ μ΄μœ κ°€ 있기 λ•Œλ¬Έμ— μ£Όμ˜ν•˜μ‹­μ‹œμ˜€. 일뢀 antd ꡬ성 μš”μ†ŒλŠ” λ‹€λ₯Έ ꡬ성 μš”μ†Œλ³΄λ‹€ 더 많이 μ˜μ‘΄ν•˜κ³  λͺ¨λ“  κ²½μš°μ— μž‘λ™ν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

_아직 μ œκ±°ν•˜μ§€ μ•Šμ•˜λ‹€λ©΄ .babelrc ν”ŒλŸ¬κ·ΈμΈμ—μ„œ style 속성을 μ œκ±°ν•΄μ•Ό ν•©λ‹ˆλ‹€.
[ "import", { "libraryName": "antd" } ] _

그것이 λˆ„κ΅°κ°€λ₯Ό 돕기λ₯Ό λ°”λžλ‹ˆλ‹€!

이것은 정말 미친 μ§“μž…λ‹ˆλ‹€. μ „μ—­ μŠ€νƒ€μΌμ„ λ°©ν•΄ν•˜λŠ” "λͺ¨λ“ˆμ‹" ꡬ성 μš”μ†Œ λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€. 이 λΌμ΄λΈŒλŸ¬λ¦¬κ°€ μ™œ κ·Έλ ‡κ²Œ 높은 평가λ₯Ό λ°›μ•˜λŠ”μ§€, 근본적인 λ¬Έμ œκ°€ 잘λͺ»λœ 것인지 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. λ¬Έμ œκ°€ ν•΄κ²°λœ κ²ƒμ²˜λŸΌ 이 티켓을 λ‹«μ•˜λ‹€λŠ” 것은 말할 것도 μ—†μŠ΅λ‹ˆλ‹€.

@strongui babel-plugin-importκ°€ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆκΉŒ?

@abenhamdine μ•„λ‹ˆμš”. 그리고 μœ„μ˜ 의견으둜 νŒλ‹¨ν•˜λŠ” 것은 λ‚˜ ν˜Όμžκ°€ μ•„λ‹™λ‹ˆλ‹€.

μ΅œμ‹  λ²„μ „μ˜ 라이브러리λ₯Ό μ‚¬μš©ν•˜λ©΄ μ—¬μ „νžˆ 이 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

λˆ„κ΅¬λ“ μ§€ μˆ˜μ • 사항을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ(μ΄μƒμ μœΌλ‘œλŠ” μž¬μ„€μ •μ΄ μ•„λ‹˜)?

ν•„μš”ν•œ 더 μž‘μ€ ꡬ성 μš”μ†Œμ— λŒ€ν•œ μ •ν™•ν•œ CSSλ₯Ό κ°€μ Έμ˜€λŠ” 데 μ„±κ³΅ν–ˆμŠ΅λ‹ˆλ‹€.

import 'antd/lib/checkbox/style/index.css'

ν•˜μ§€λ§Œ 이제 ν…Œμ΄λΈ”μ„ κ΅¬ν˜„ν•˜λ €κ³  ν•©λ‹ˆλ‹€. Table은 λ§Žμ€ μŠ€νƒ€μΌμ— μ˜μ‘΄ν•˜λ―€λ‘œ λ‹€μ–‘ν•œ CSS μ‹œνŠΈλ₯Ό λͺ¨λ‘ λ³„λ„λ‘œ 가져와야 ν–ˆμŠ΅λ‹ˆλ‹€. _μ œμ™Έ_ μ •λ ¬ κΈ°λŠ₯을 μœ„ν•΄μ„œλŠ” antd/lib/icon 내에 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” icon CSSκ°€ ν•„μš”ν•©λ‹ˆλ‹€. λŒ€μ‹  μ•„μ΄μ½˜ CSSκ°€ λ¦¬λ””λ ‰μ…˜λ˜κΈ° λ•Œλ¬Έμ— κΈ°λ³Έ μŠ€νƒ€μΌ μ‹œνŠΈλ₯Ό 가져와야 ν–ˆμŠ΅λ‹ˆλ‹€.

import 'antd/lib/style/index.css'

이것은 λ‚΄ μ•±μ˜ λ‚˜λ¨Έμ§€ 뢀뢄에 영ν–₯을 λ―ΈμΉ˜λŠ” νŒŒμΌμž…λ‹ˆλ‹€ ☝️

μ΅œμ†Œν•œ CSS μ‹œνŠΈκ°€ κΈ°λ³Έ μ‹œνŠΈλ‘œ λ¦¬λ””λ ‰μ…˜λ˜μ§€ μ•Šλ„λ‘ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆκΉŒ? (ν…Œμ΄λΈ” 정렬에 ν•„μš”ν•œ icon 같은?)

λ˜ν•œ @afc163 이 문제λ₯Ό λ‹€μ‹œ μ—¬μ‹­μ‹œμ˜€. 아직 ν•΄κ²°λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.

μŠ€λ ˆλ“œλ₯Ό 읽고 "WON'T FIX" νƒœκ·Έλ₯Ό ν™•μΈν•˜μ„Έμš”. 이것은 Ant.Dλ₯Ό ꡬ성 μš”μ†Œ 라이브러리둜 μ„ νƒν•˜λŠ” μž„λ² λ””λ“œ ꡬ성 μš”μ†ŒμΈ λͺ¨λ“  λŒ€ν˜• μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ°¨λ‹¨ν•˜λŠ” P0 λ²„κ·Έμž…λ‹ˆλ‹€. νƒœκ·ΈλŠ” 'HEART BREAKING'이어야 ν•©λ‹ˆλ‹€.

@afc163 이게 λ„λŒ€μ²΄ μ™œ μ•ˆ κ³ μ³μ§€λŠ” κ±ΈκΉŒμš”?? λ°˜μ‘ μ² ν•™κ³Ό λͺ¨λ“ˆμ‹ λ””μžμΈμ˜ 핡심은 ꡬ성 μš”μ†Œκ°€ λ‹€λ₯Έ ꡬ성 μš”μ†Œλ‘œ λ²ˆμ§€μ§€ μ•Šλ„λ‘ ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이것은 μ „ν˜€ 말이 λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” μ‹œκ°„μ„ 보내고 트리 선택에 λŒ€ν•œ CSSλ₯Ό μΆ”μΆœν–ˆμœΌλ©° λ‹€λ₯Έ 것에 영ν–₯을 λ―ΈμΉ˜μ§€ μ•Šκ³  μž‘λ™ν•˜λ„λ‘ ν•  수 μžˆμ—ˆκΈ° λ•Œλ¬Έμ— κ°€λŠ₯ν•˜λ‹€λŠ” 것을 μ•Œκ³  μžˆμŠ΅λ‹ˆλ‹€.

이 문제λ₯Ό λ‹€μ‹œ μ—΄λ©΄ +1μž…λ‹ˆλ‹€. Material-UIμ—μ„œ AntD둜 앱을 μ „ν™˜ν•˜λ €κ³  ν•˜λŠ”λ° 이것이 μ§„μž… μž₯벽이 λ©λ‹ˆλ‹€.

μž¬κ°œλ΄‰ +1. babel-plugin-import 은(λŠ”) μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λͺ¨λ“  tuts와 지침을 μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄ μ•±μ˜ 전체 글꼴을 λ³€κ²½ν•  수 μ—†μŠ΅λ‹ˆλ‹€ 😱

blueprintjs palantir/blueprint#244 에 κ΄€λ ¨ λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

ν•œ 가지 μ œμ•ˆμ€ css-byebyeλΌλŠ” postcss ν”ŒλŸ¬κ·ΈμΈμ„ μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
https://github.com/AoDev/css-byebye

이것은 μž„μ‹œ ν•΄κ²°μ±…μœΌλ‘œ 도움이 될 수 μžˆμŠ΅λ‹ˆλ‹€.

ν›Œλ₯­ν•œ λΌμ΄λΈŒλŸ¬λ¦¬μ΄μ§€λ§Œ μ‚¬μš©μžλ₯Ό λŒ€ν•˜λŠ” λ”μ°ν•œ λ°©λ²•μž…λ‹ˆλ‹€. κΈ°λ³Έ 글꼴을 λ³€κ²½ν•΄μ•Ό ν•˜λŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? 그리고 κΈ€κΌ΄κ³Ό μŠ€νƒ€μΌμ„ μž¬μ„€μ •ν•  방법이 μ—†λŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

이것은 μš°λ¦¬μ™€ λŒ“κΈ€μ„ 읽고 νŒλ‹¨ν•˜λŠ” λ§Žμ€ μ‚¬λžŒλ“€μ΄ 이 라이브러리λ₯Ό μ‚¬μš©ν•˜μ§€ λͺ»ν•˜κ²Œ ν•©λ‹ˆλ‹€.

이것이 μ–Έμ–΄/문화적 λ¬Έμ œμΈμ§€λŠ” λͺ¨λ₯΄κ² μ§€λ§Œ 이 라이브러리의 개발자 - μ°Έκ³ : 아무도 μ‚¬μš©ν•˜κ³  싢지 μ•Šμ€ 라이브러리λ₯Ό λ§Œλ“œλŠ” μ˜λ―Έκ°€ λ¬΄μ—‡μž…λ‹ˆκΉŒ? λ™λ£Œ κ°œλ°œμžκ°€ 라이브러리λ₯Ό μ‚¬μš©ν•˜κΈ° μ–΄λ ΅κ²Œ λ§Œλ“œλŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

아무도 μ‚¬μš©ν•˜κ³  싢지 μ•Šμ€ 라이브러리λ₯Ό λ§Œλ“œλŠ” μ˜λ―ΈλŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ? λ™λ£Œ κ°œλ°œμžκ°€ 라이브러리λ₯Ό μ‚¬μš©ν•˜κΈ° μ–΄λ ΅κ²Œ λ§Œλ“œλŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

μ λ‹Ήνžˆ ν•΄μ£Όμ„Έμš”.
λ§Žμ€ κ°œλ°œμžμ™€ μŠ€νƒ€νŠΈμ—…μ΄ 이 라이브러리λ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ μ‚¬μš©ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

이 λΌμ΄λΈŒλŸ¬λ¦¬λŠ” μ˜€ν”ˆ μ†ŒμŠ€μ΄λ©° λ¬΄λ£Œμž…λ‹ˆλ‹€. μ‚¬μš©ν•˜κΈ° μ‹«μœΌλ©΄ μ‚¬μš©ν•˜μ§€ λ§ˆμ„Έμš”.
그것을 μˆ˜μ •ν•˜κ³  μ‹Άλ‹€λ©΄ 그것을 ν¬ν¬ν•˜κ±°λ‚˜ PR을 μ œμΆœν•  수 μžˆμŠ΅λ‹ˆλ‹€. ant-design의 μœ μ§€ λ³΄μˆ˜λŠ” 기여에 μ—΄λ € μžˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‹ˆ μ—¬κΈ°μ„œ μš•ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” λ˜ν•œ 우리 νŒ€μ˜ 거래 차단기이기도 ν•©λ‹ˆλ‹€.
μš°λ¦¬λŠ” ν”„λ‘œμ νŠΈμ™€ μ™„λ£Œλœ λͺ¨λ“  μž‘μ—…μ„ μ‚¬λž‘ν•˜μ§€λ§Œ 이 단일 문제둜 인해 μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

κ·Έλ ‡κΈ° λ•Œλ¬Έμ— κ°€κΉŒμš΄ μ‹œμΌ 내에 λ¬Έμ œκ°€ λ‹€μ‹œ ν•΄κ²°λ˜κΈ°λ₯Ό 바라며 이 문제λ₯Ό 계속 μΆ”μ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ•„, λ‚˜λŠ” 맀우 μ˜¨κ±΄ν•˜λ‹€. 그리고 μ €λŠ” μ—¬κΈ°μ„œ μš•μ„ ν•˜λŠ” 것이 μ•„λ‹™λ‹ˆλ‹€.

λ‚˜λŠ” λ‹Ήμ‹ μ˜ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ 비둝 ν›Œλ₯­ν•˜λ”라도 λΆˆν•„μš”ν•œ λΆ€μž‘μš©μ΄ μžˆμ–΄μ„œλŠ” μ•ˆ λœλ‹€λŠ” 점에 주의λ₯Ό 기울이고 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ MomentJSλ₯Ό μ‚¬μš©ν•˜κ³  Klingonμ—μ„œ λ‚ μ§œμ™€ μ‹œκ°„μ„ ν‘œμ‹œν•˜κΈ° μ‹œμž‘ν•œλ‹€κ³  상상해 λ³΄μ‹­μ‹œμ˜€!

"슀슀둜 갈래"도 닡이 μ•„λ‹™λ‹ˆλ‹€. 사싀 이것이 λ§Žμ€ μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈμ˜ μŠ¬ν”„κ³  ν•œμ‹¬ν•œ μƒνƒœμž…λ‹ˆλ‹€.

μš°λ¦¬λŠ” λ³΅μž‘ν•œ μ‹œμŠ€ν…œμ„ 슀슀둜 κ΅¬μΆ•ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” μ—¬κΈ°μ—μ„œ 신인이 μ•„λ‹™λ‹ˆλ‹€. μš°λ¦¬λŠ” λ„μ„œκ΄€μ„ μ΄μš©ν•˜κ³  우리의 삢을 κ³„μ†ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. μ΅œμ†Œν•œ κΈ°λ³Έ κΈ€κΌ΄μ΄λ‚˜ κΈ€κΌ΄ 크기λ₯Ό λ³€κ²½ν•˜μ§€ μ•Šλ„λ‘ λΌμ΄λΈŒλŸ¬λ¦¬μ— μš”μ²­ν•˜λŠ” 방법이 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 그것이 λ‚˜μ™€ μ—¬κΈ° μžˆλŠ” λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ λ¬»λŠ” μ „λΆ€μž…λ‹ˆλ‹€.

귀머거리가 되기둜 μ„ νƒν•˜κ³  μ΄λŸ¬ν•œ 문제λ₯Ό λ¬΄μ‹œν•˜λ„λ‘ 선택할 수 μžˆμŠ΅λ‹ˆλ‹€. λ‚΄ 말 λŒ€μ‹  μ§‘μ€‘ν•˜κΈ°λ‘œ μ„ νƒν•˜κ±°λ‚˜ μ—¬κΈ° μ‚¬λžŒλ“€μ΄ λ§ν•˜λŠ” λ‚΄μš©μ„ μ΄ν•΄ν•˜κ³  λΆ€μž‘μš© 없이 라이브러리λ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” 방법을 μ œκ³΅ν•˜λ„λ‘ 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.

당신이 였래 μ‚΄κ³  λ²ˆμ˜ν•˜λŠ” λ™μ•ˆ 힘이 λ‹Ήμ‹ κ³Ό ν•¨κ»˜ν•˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

@kotpal 에 더 λ™μ˜ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 이 토둠이 "이 κΈ°λŠ₯을 μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?" λ˜λŠ” "...이면 쒋지 μ•Šμ„κΉŒμš”?"에 κ΄€ν•œ 것이 μ•„λ‹ˆλΌ 문자 κ·ΈλŒ€λ‘œ ꡬ성 μš”μ†Œκ°€ κΈ€λ‘œλ²Œ κΈ°λŠ₯을 μ—‰λ§μœΌλ‘œ λ§Œλ“€μ–΄μ„œλŠ” μ•ˆ λœλ‹€λŠ” 것을 μž‘μ„±μžμ—κ²Œ ν™•μ‹ μ‹œν‚€λ €λŠ” 것이 λ†€λžμŠ΅λ‹ˆλ‹€. μƒνƒœ. 말 κ·ΈλŒ€λ‘œ ReactJS와 λͺ¨λ“  λͺ¨λ“ˆμ‹ λ””μžμΈμ˜ 핡심 κ°œλ…μ„ 곡백으둜 두고 μžˆμŠ΅λ‹ˆλ‹€.

κΈ€λ‘œλ²Œ ν…Œλ§ˆ λ˜λŠ” 무언가λ₯Ό μ œκ³΅ν•˜μ§€ μ•ŠλŠ” ν•œ GLOBAL을 μ—‰λ§μœΌλ‘œ λ§Œλ“€μ§€ λ§ˆμ‹­μ‹œμ˜€.

@abenhamdine 의 말을 μ΄ν•΄ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ @strongui 에도 λ™μ˜ν•©λ‹ˆλ‹€.

μ•„λ§ˆλ„ AntλŠ” 전체 κ²½ν—˜μ΄μ–΄μ•Ό ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ‹€μ œλ‘œ λ§Žμ€ μ‚¬λžŒλ“€μ€ μ—¬μ „νžˆ ​​변경할 수 μ—†λŠ” λ ˆκ±°μ‹œ μ½”λ“œλ‘œ μž‘μ—…ν•΄μ•Ό ν•©λ‹ˆλ‹€. 그리고 이 ν”„λ‘œμ νŠΈκ°€ 이전 μ½”λ“œμ™€ μΆ©λŒν•˜λ©΄ μ• μ΄ˆμ— React(λ˜λŠ” 이와 μœ μ‚¬ν•œ λ‹€λ₯Έ ν”„λ ˆμž„μ›Œν¬)λ₯Ό μ‚¬μš©ν•  λ•Œμ˜ λͺ¨λ“  이점을 μžƒκ²Œ λ©λ‹ˆλ‹€.

이 λ¬Έμ œκ°€ λ„ˆλ¬΄ λ§Žμ€ μ‚¬λžŒλ“€μ΄ ν”„λ‘œμ νŠΈλ₯Ό μ™„μ „νžˆ μ±„νƒν•˜λŠ” 것을 λ§‰λŠ”λ‹€λ©΄ μš°λ¦¬κ°€ ν•¨κ»˜ λͺ¨μ—¬ ν˜„μƒκΈˆμ„ κ±Έ 수 μžˆμŠ΅λ‹ˆκΉŒ?

λ‚˜λŠ” 슀슀둜 이 문제λ₯Ό κ³ μΉ  μ§€μ‹μ΄λ‚˜ μ‹œκ°„μ΄ μ—†λ‹€λŠ” 것을 μ•Œκ³  μžˆλŠ”λ°, κΈ°μ—¬μžλ“€μ΄ 그것을 κ³ μΉ  λ•ŒκΉŒμ§€ κ±Έλ¦¬λŠ” μ‹œκ°„μ€ λ¬΄μ—‡μž…λ‹ˆκΉŒ? (예, κΈ°λŠ₯이 μ•„λ‹ˆλΌ λ¬Έμ œμž…λ‹ˆλ‹€)

λ‚˜λŠ” antdμ—μ„œ μ œκ³΅ν•˜λŠ” μ „μ—­ CSSλ₯Ό μž¬μ •μ˜ν•˜κ³  μŠ€νƒ€μΌμ΄ μ§€μ •λœ jsx와 같은 ν”„λ‘œμ νŠΈλ₯Ό μ‚¬μš©ν•˜μ—¬ μ–΄λŠ 정도 μ„±κ³΅ν–ˆμŠ΅λ‹ˆλ‹€.
μ—¬κΈ°μ—μ„œ 배포된 μ‚¬μ΄νŠΈλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€! μΆ”μ‹ : μž‘μ—…μ΄ 진행 μ€‘μž…λ‹ˆλ‹€.

λ‚˜λŠ” 방금 같은 상황에 μ²˜ν•΄ 있으며 @inverts 및 @corinnebrady (https://github.com/ant-design/ant-design/issues/4331#issuecomment)κ°€ μ„€λͺ…ν•œ 것과 λ™μΌν•œ μ ‘κ·Ό 방식을 μ‚¬μš©ν•˜μ—¬ μ λ‹Ήν•œ 성곡을 거두고 μžˆμŠ΅λ‹ˆλ‹€. -361421192 및 https://github.com/ant-design/ant-design/issues/4331#issuecomment-365481037). λ”°λΌμ„œ 일뢀 ꡬ성 μš”μ†ŒλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

// ...
import Modal from 'antd/lib/modal'
import 'antd/lib/modal/style/index.css'

import AutoComplete from 'antd/lib/auto-complete'
import 'antd/lib/auto-complete/style/index.css'

import Form from 'antd/lib/form'
import 'antd/lib/form/style/index.css'
import 'antd/lib/select/style/index.css'

import Button from 'antd/lib/button'
import 'antd/lib/button/style/index.css'
// ... etc

이것은 λŒ€λΆ€λΆ„μ˜ antd ꡬ성 μš”μ†Œμ—μ„œ μ–΄λŠ 정도 μ •μƒμ μœΌλ‘œ μž‘λ™ν•˜μ§€λ§Œ νŠΉμ • CSS 파일과 μ—°κ²°λ˜μ§€ μ•Šμ€ λ‹€λ₯Έ ꡬ성 μš”μ†Œκ°€ 있으며 ν•΄λ‹Ή μŠ€νƒ€μΌμ€ μ „μ—­ ꡬ성 μš”μ†Œμ—μ„œλ§Œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€. icon ꡬ성 μš”μ†Œκ°€ μž‘λ™ν•˜λ„λ‘ ν•˜λ €λ©΄ μ „μ—­ νŒŒμΌμ—μ„œ λ‚΄ μŠ€νƒ€μΌμ‹œνŠΈλ‘œ λͺ¨λ“  μ•„μ΄μ½˜ κ΄€λ ¨ μŠ€νƒ€μΌμ„ μˆ˜λ™μœΌλ‘œ 볡사해야 ν–ˆμŠ΅λ‹ˆλ‹€. μœ μ§€ κ΄€λ¦¬μž: antd/lib/icon/style/index.css λ₯Ό ν¬ν•¨ν•˜λŠ” PR을 μˆ˜λ½ν•˜μ‹œκ² μŠ΅λ‹ˆκΉŒ?

import 'antd/lib/spin/style/index.less' 와 같이 κ°œλ³„ νŒŒμΌλ„ 적게 포함할 수 μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

이 문제λ₯Ό κ³΅μ‹μ μœΌλ‘œ ν•΄κ²°ν•  κ³„νšμ΄ μžˆμŠ΅λ‹ˆκΉŒ?

μ—¬μ „νžˆ λ¬Έμ œμ§€λ§Œ @reyronald 와 같은 μ°Έμ‘° κ°€μ Έμ˜€κΈ°λ‘œ μˆ˜μ •ν•˜λ €κ³  ν•©λ‹ˆλ‹€.

λ‚˜λ„ Icon 의 μŠ€νƒ€μΌ λ¬Έμ œμ— κ°‡ν˜€ μžˆμŠ΅λ‹ˆλ‹€.

@reyronald 홍보 λΆ€νƒλ“œλ €λ„ λ κΉŒμš”?

μ΄κ²ƒμœΌλ‘œ κ³ ν†΅λ°›λŠ” μ‚¬λžŒλ“€μ€ μ €μž₯μ†Œμ—μ„œ 직접 νŒ¨ν‚€μ§€λ₯Ό μΆ”κ°€ν•˜μ—¬ λ‚΄ 포크λ₯Ό μ‹œλ„ν•˜κ³  μ‹Άμ–΄ν•  κ²ƒμž…λ‹ˆλ‹€.

yarn add github:serguzest/ant-design#3.4.1-NoCssPollution

λ˜λŠ”

npm install github:serguzest/ant-design#3.4.1-NoCssPollution

base.less만 μ œμ™Έν•˜κ³  λ‹€λ₯Έ μˆ˜μ • 없이 λΉŒλ“œν–ˆμŠ΅λ‹ˆλ‹€. 제 κ²½μš°μ—λŠ” μž‘λ™ν•˜λ©° λ§Žμ€ ꡬ성 μš”μ†Œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 특히 ν”„λ‘œμ νŠΈμ— μ œλŒ€λ‘œ μž¬μ„€μ •λœ μŠ€νƒ€μΌμ‹œνŠΈκ°€ μ—†λŠ” 경우 특히 일뢀 κ΅¬μ„±μš”μ†Œμ˜ λͺ¨μ–‘이 깨질 κ²ƒμž…λ‹ˆλ‹€. #4546

μ•ˆλ…•ν•˜μ„Έμš” @afc163 저도 μ—¬κΈ° λ“€μ–΄κ°€μ„œ 이 문제λ₯Ό μˆ˜μ •ν•˜κΈ° μœ„ν•΄ μŒμ„±μ„ μΆ”κ°€ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” λ§Žμ€ λŒ€μƒμœΌλ‘œ λŒ€κ·œλͺ¨ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ΅¬μΆ•ν•˜κ³  일뢀 λŒ€μƒμ€ 타사 μ‚¬μ΄νŠΈμ— λ‘œλ“œλ©λ‹ˆλ‹€. antd κΈ€λ‘œλ²Œ CSSλ₯Ό λ°©ν•΄ν•˜λŠ” 것은 μš°λ¦¬μ—κ²Œ λ¬Έμ œκ°€ λ©λ‹ˆλ‹€. μ™œλƒν•˜λ©΄ μš°λ¦¬λŠ” κ²°κ΅­ ν•΄λ‹Ή 타사 μ‚¬μ΄νŠΈμ˜ CSS μž¬μ„€μ • 및 글꼴을 날렀버리기 λ•Œλ¬Έμž…λ‹ˆλ‹€. μš°λ¦¬λŠ” 라이브러리λ₯Ό μ‚¬λž‘ν•˜κ³  μœ μ§€ κ΄€λ¦¬μžκ°€ μš°λ¦¬μ—κ²Œ λ°©ν–₯을 μ•Œλ €μ€€λ‹€λ©΄ μˆ˜μ •μ— κΈ°μ—¬ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μ—΄κ±°λ‚˜ λŒ€ν™”λ₯Ό λ‹€λ₯Έ λ―Έν•΄κ²° 문제둜 μ•ˆλ‚΄ν•˜μ„Έμš”! 감사 ν•΄μš”

κ·Έλž˜μ„œ μš°λ¦¬λŠ” μ›ΉνŒ© μ‘°μž‘μ„ μ‚¬μš©ν•˜μ—¬ λŒ€μ²΄ 덜 νŒŒμΌμ„ λ‘œλ“œν•¨μœΌλ‘œμ¨ (적어도 μ§€κΈˆκΉŒμ§€λŠ”) 이 μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

new webpack.NormalModuleReplacementPlugin( /node_modules\/antd\/lib\/style\/index\.less/, path.resolve(rootDir, 'src/styles.less') ),

src/style.less νŒŒμΌμ€ index.less 파일과 λ™μΌν•œ νŒŒμΌμ„ λ‘œλ“œν•˜μ§€λ§Œ μ΅œμƒμœ„ 선택기 λ²”μœ„ λ‚΄μ—μ„œ λ‘œλ“œν•©λ‹ˆλ‹€.

#root { <strong i="11">@import</strong> '~antd/lib/style/core/index.less'; <strong i="12">@import</strong> '~antd/lib/style/themes/default.less'; }

κ²°κ³ΌλŠ” λͺ¨λ“  "μ „μ—­" μŠ€νƒ€μΌμ΄ #root λ²”μœ„λ‘œ μ μš©λœλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

`#루트 기사,

뿌리λ₯Ό μ œμ³λ‘κ³ ,

루트 λŒ€ν™” μƒμž,

루트 κ·Έλ¦Ό μΊ‘μ…˜,

루트 그림,

루트 λ°”λ‹₯κΈ€,

루트 헀더,

루트 hgroup,

루트 메인,

루트 탐색,

루트 μ„Ήμ…˜ {

λ””μŠ€ν”Œλ ˆμ΄: 블둝;
}
`
λ“±...

이것이 λˆ„κ΅°κ°€μ—κ²Œ λ„μ›€μ΄λ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

μ—¬λŸ¬λΆ„, 정말 μ§œμ¦λ‚©λ‹ˆλ‹€. 이 μŠ€νƒ€μΌ λ™μž‘μ€ 세계적 μˆ˜μ€€μ˜ UI λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œ κΈ°λŒ€ν•  수 μ—†λŠ” κ²ƒμž…λ‹ˆλ‹€.

μ‚¬λžŒλ“€μ΄ ν˜Όλ™ν•˜μ§€ μ•Šλ„λ‘ μ΅œμ†Œν•œ λ¬Έμ„œμ—μ„œ μ „μ—­ μž¬μ„€μ •μ— λŒ€ν•΄ μ–ΈκΈ‰ν•˜μ‹­μ‹œμ˜€. λ˜λŠ” κ°œλ³„ μŠ€νƒ€μΌ 및 μ•„μ΄μ½˜ κ°€μ Έμ˜€κΈ°μ— λŒ€ν•œ λ ˆμ‹œν”Όκ°€ ν¬ν•¨λœ "λ ˆκ±°μ‹œ μ›Ή μ‚¬μ΄νŠΈμ— 톡합" κ°€μ΄λ“œκ°€ 도움이 될 κ²ƒμž…λ‹ˆλ‹€.

λ‚˜λŠ” 이 λ¬Έμ œκ°€ λ‹«νžŒ ν›„ μœ μ§€ κ΄€λ¦¬μžκ°€ 토둠에 μ°Έμ—¬ν•˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— 이 문제의 ꡬ독을 μ·¨μ†Œν–ˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. λ”°λΌμ„œ μƒˆ 문제λ₯Ό μ—΄κ±°λ‚˜ 직접 pingν•˜κ±°λ‚˜ PR을 열지 μ•ŠλŠ” ν•œ 이에 λŒ€ν•œ 곡식적인 지원을 받지 λͺ»ν•  κ²ƒμž…λ‹ˆλ‹€.

λ§ˆμΉ¨λ‚΄ λͺ¨λ“  κ·œμΉ™μ— μ‚¬μš©μž μ •μ˜ ν΄λž˜μŠ€κ°€ μ ‘λ‘μ–΄λ‘œ 뢙은 원본 antd.cssλ₯Ό 기반으둜 μƒˆ CSS νŒŒμΌμ„ μƒμ„±ν•˜μ—¬ 이 문제λ₯Ό μš°νšŒν•˜λŠ” 방법을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. λ‚΄ μ†”λ£¨μ…˜μ€ PostCSS, Gulp 및 postcss-prefixwrap ν”ŒλŸ¬κ·ΈμΈμ„ μ‚¬μš©ν•©λ‹ˆλ‹€.

https://gist.github.com/sbusch/a90eafaf5a5b61c6d6172da6ff76ddaa

μ™„λ²½ν•˜μ§€λŠ” μ•Šμ§€λ§Œ λ†€λžκ²Œλ„ 잘 μž‘λ™ν•©λ‹ˆλ‹€. 적어도 λ‚΄ ν•„μš”μ—λŠ” ;-)

μš”μ§€λŠ” .antd-ns 접두사가 뢙은 antd CSS의 κΈ°μ„±ν’ˆ 버전도 ν¬ν•¨ν•©λ‹ˆλ‹€("λ„€μž„μŠ€νŽ˜μ΄μŠ€"의 μ•½μžλ‘œ "ns").

λ…ΈνŠΈ:
λ‚˜μ—κ²Œ μ€‘μš”ν•œ μš”κ΅¬ 사항은 μžλ™ν™”λ˜μ–΄ λͺ¨λ“  μƒˆλ‘œμš΄ ant λ¦΄λ¦¬μŠ€μ— λŒ€ν•΄ 접두사가 뢙은 CSSλ₯Ό μ‰½κ²Œ 생성할 수 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

  • 접두사가 뢙은 CSSλ₯Ό λ§Œλ“€κΈ° μœ„ν•œ λ„κ΅¬λ‘œ μ‚¬μš©λ©λ‹ˆλ‹€. λ”°λΌμ„œ ν”„λ‘œμ νŠΈμ™€ λΆ„λ¦¬λœ λ‹€λ₯Έ ν΄λ”μ—μ„œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. antd 기반 ν”„λ‘œμ νŠΈμ— PostCSS λ˜λŠ” Gulpλ₯Ό 포함할 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€! κ²°κ³Ό CSSλŠ” ν”„λ‘œμ νŠΈμ˜ 정적 CSS 폴더에 배치되기만 ν•˜λ©΄ λ©λ‹ˆλ‹€(μ΄λŠ” μ μ ˆν•˜κ²Œ κ΅¬μ„±λœ 경우 Gulpμ—μ„œ μˆ˜ν–‰).
  • postcss-prefixwrap λŠ” antd ν‚€ν”„λ ˆμž„ μ• λ‹ˆλ©”μ΄μ…˜μ„ μœ μ§€ν•˜κΈ° μœ„ν•œ λ‚΄ νŒ¨μΉ˜κ°€ ν¬ν•¨λœ 버전 1.3.0 이상이어야 ν•©λ‹ˆλ‹€.

λŒ“κΈ€/ν”Όλ“œλ°±μ€ 항상 κ°μ‚¬ν•©λ‹ˆλ‹€!

ν›Œλ₯­ν•œ PostCSS postcss-prefixwrap ν”ŒλŸ¬κ·ΈμΈμœΌλ‘œ 이것을 κ°€λŠ₯ν•˜κ²Œ ν•΄μ€€ @dbtedman μ—κ²Œ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

λŒ“κΈ€/ν”Όλ“œλ°± κ°μ‚¬ν•©λ‹ˆλ‹€!

λ§ˆμΉ¨λ‚΄ λͺ¨λ“  κ·œμΉ™μ— μ‚¬μš©μž μ •μ˜ ν΄λž˜μŠ€κ°€ μ ‘λ‘μ–΄λ‘œ 뢙은 원본 antd.cssλ₯Ό 기반으둜 μƒˆ CSS νŒŒμΌμ„ μƒμ„±ν•˜μ—¬ 이 문제λ₯Ό μš°νšŒν•˜λŠ” 방법을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€.

이것은 IMHO의 κ°€μž₯ ν™•μ‹€ν•œ μ†”λ£¨μ…˜μž…λ‹ˆλ‹€.
개인적으둜 ν˜„μž¬λ‘œμ„œλŠ” 이것이 ν•„μš”ν•˜μ§€ μ•Šμ§€λ§Œ λˆ„κ΅°κ°€κ°€ 더 적은 파일의 각 CSS κ·œμΉ™ μ•žμ— 클래슀 이름이 적은 λ³€μˆ˜(예: .@{scope} )λ₯Ό μΆ”κ°€ν•˜κΈ° μœ„ν•΄ PR을 μ œμΆœν•˜λ©΄ λͺ¨λ“  μ‚¬λžŒμ—κ²Œ μœ μ΅ν•  κ²ƒμž…λ‹ˆλ‹€.

기본적으둜 이 λ³€μˆ˜λŠ” ν˜„μž¬ λ™μž‘μ΄ μ€‘λ‹¨λ˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ λΉ„μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ μŠ€νƒ€μΌμ„ λΆ„λ¦¬ν•˜λ €λ©΄ antd 둜 λ³€μˆ˜λ₯Ό μ„€μ •ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.

λ‚˜λŠ” 이 μ†”λ£¨μ…˜μ΄ μœ μ§€ λ³΄μˆ˜μžλ“€μ—κ²Œ λ°›μ•„λ“€μ—¬μ§ˆ 수 있고 μ•žμœΌλ‘œ λ‚˜μ•„κ°ˆ 수 μžˆμ„ 것이라고 μƒκ°ν•©λ‹ˆλ‹€.

λ‹€μŒμ€ λ‚˜λ₯Ό μœ„ν•΄ μΌν•œ ν•΄κ²° λ°©λ²•μž…λ‹ˆλ‹€. styles.less νŒŒμΌμ„ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

// Doing what antd/lib/style/core/index.less does
// but without loading "base" which overwrites global styles
<strong i="7">@import</strong> '~antd/lib/style/mixins/index.less';
<strong i="8">@import</strong> '~antd/lib/style/core/iconfont.less';
<strong i="9">@import</strong> '~antd/lib/style/core/motion.less';

<strong i="10">@import</strong> '~antd/lib/menu/style/index.less';
<strong i="11">@import</strong> '~antd/lib/dropdown/style/index.less';
<strong i="12">@import</strong> '~antd/lib/button/style/index.less';
<strong i="13">@import</strong> '~antd/lib/checkbox/style/index.less';
<strong i="14">@import</strong> '~antd/lib/grid/style/index.less';

.babelrc 에 λ‹€μŒμ΄ μžˆμŠ΅λ‹ˆλ‹€.

  "plugins": [
    [
      "import",
      {
        "libraryName": "antd",
        "style": false,
      }
    ]
  ]

https://ant.design/docs/react/getting-started#Import -on-Demand 및 https://github.com/ant-design/babel-plugin-import 에 μ„€λͺ…λœ λŒ€λ‘œ JS λΉŒλ“œ 크기 μ΅œμ ν™”

λ§žμΆ€ν˜• μŠ€νƒ€μΌλ§μ„ μœ„ν•΄ μ›ΉνŒ© ꡬ성을 λ‹€μŒκ³Ό 같이 λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€.

module: {
  rules: [{
    test: /\.less$/,
    use: [{
      loader: 'style-loader'
    }, {
      loader: 'css-loader'
    }, {
      loader: 'less-loader',
      options: {
        javascriptEnabled: true,
        modifyVars: {"primary-color": "#ed1c24"},
      }
    }]
  }]
}

https://ant.design/docs/react/customize-theme#1)-Using-theme-property-(recommended-way)에 μ„€λͺ…λœ λŒ€λ‘œ

BTW: μ²˜λ¦¬μ—μ„œ 이 "base.less" νŒŒμΌμ„ λ¬΄μ‹œν•˜κΈ° μœ„ν•΄ new webpack.IgnorePlugin(/style\/core\/base/) λ₯Ό μ‚¬μš©ν•˜λ €κ³  μ‹œλ„ν–ˆμ§€λ§Œ μž‘λ™ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. 이유λ₯Ό λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€. λ‚΄ 가섀은 Webpack으둜 직접 μ²˜λ¦¬ν•˜μ§€ μ•Šκ³  LESS둜 μ²˜λ¦¬ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

κ·Έ κ°€μΉ˜λ₯Ό μœ„ν•΄ antd.cssλ₯Ό μˆ˜λ™μœΌλ‘œ νŽΈμ§‘ν–ˆμœΌλ©° λ‚΄κ°€ μ‚¬μš©ν•˜λŠ” antd ꡬ성 μš”μ†Œλ₯Ό μ†μƒμ‹œν‚€μ§€ μ•Šκ³  μ›μΉ˜ μ•ŠλŠ” μŠ€νƒ€μΌμ„ μ œκ±°ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

@paneq 저도 ν˜„μž¬ κ·Έλ ‡κ²Œ ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. babel-plugin-import 의 μŠ€νƒ€μΌ μ˜΅μ…˜μ€ μŠ€νƒ€μΌμ„ 포함할지 μ—¬λΆ€λ₯Ό κ²°μ •ν•  수 μžˆλŠ” ν•¨μˆ˜μΌ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 단지 그것을 μž‘λ™ν•˜μ§€ μ•Šμ•˜λ‹€. 그것을 디버깅해야 ν•  κ²ƒμž…λ‹ˆλ‹€ ...
μ–΄μ©Œλ©΄ λ‚΄κ°€ κ·Έ μ˜΅μ…˜μ„ 잘λͺ» ν•΄μ„ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

@paneq 당신이 ν•œ 일을 λ³΅μ‚¬ν–ˆκ³  μ§€κΈˆκΉŒμ§€ μž‘λ™ν•˜λŠ” 것 κ°™μ§€λ§Œ μ–΄λ–€ ꡬ성 μš”μ†Œμ— ν•΄λ‹Ή κΈ€λ‘œλ²Œ CSSκ°€ ν•„μš”ν•œμ§€ ν™•μΈν•˜κΈ°μ— μΆ©λΆ„ν•œ ꡬ성 μš”μ†Œλ₯Ό μ‹œλ„ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 감사 ν•΄μš”

@vthinkxie

μ•ˆλ…•ν•˜μ„Έμš”, .ant둜 μ‹œμž‘ν•˜λŠ” λͺ¨λ“  μš”μ†Œλ₯Ό β€‹β€‹μΌμΉ˜μ‹œν‚€κ³  μŠ€νƒ€μΌμ„ ν• λ‹Ήν•˜λŠ” 것이 κ°€λŠ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.

*[클래슀^='개미-']{
μƒμž 크기 μ‘°μ •: ν…Œλ‘λ¦¬ μƒμž;
-μ›Ήν‚· νƒ­ κ°•μ‘° ν‘œμ‹œ 색상: rgba(0, 0, 0, 0); // λͺ¨λ°”일 μ‚¬νŒŒλ¦¬μ˜ νƒ­ ν•˜μ΄λΌμ΄νŠΈ 색상 제거
}

λΈŒλΌμš°μ € κ°„ ν˜Έν™˜μ„±μ΄ μžˆμ–΄μ•Ό ν•˜λ©° κ΅¬ν˜„ν•˜λŠ” 데 였랜 μ‹œκ°„μ΄ 걸리지 μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

κ·Έλž˜μ„œ μš°λ¦¬λŠ” μ›ΉνŒ© μ‘°μž‘μ„ μ‚¬μš©ν•˜μ—¬ λŒ€μ²΄ 덜 νŒŒμΌμ„ λ‘œλ“œν•¨μœΌλ‘œμ¨ (적어도 μ§€κΈˆκΉŒμ§€λŠ”) 이 μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

new webpack.NormalModuleReplacementPlugin( /node_modules\/antd\/lib\/style\/index\.less/, path.resolve(rootDir, 'src/styles.less') ),

src/style.less νŒŒμΌμ€ index.less 파일과 λ™μΌν•œ νŒŒμΌμ„ λ‘œλ“œν•˜μ§€λ§Œ μ΅œμƒμœ„ 선택기 λ²”μœ„ λ‚΄μ—μ„œ λ‘œλ“œν•©λ‹ˆλ‹€.

#root { <strong i="12">@import</strong> '~antd/lib/style/core/index.less'; <strong i="13">@import</strong> '~antd/lib/style/themes/default.less'; }

κ²°κ³ΌλŠ” λͺ¨λ“  "μ „μ—­" μŠ€νƒ€μΌμ΄ #root λ²”μœ„λ‘œ μ μš©λœλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

μ‚¬μš© 쀑인 λ‘œλ”κ°€ 적은 버전은 λ¬΄μ—‡μž…λ‹ˆκΉŒ? 3.0.0μ—μ„œλ§Œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆκΉŒ? 보닀. 예: https://github.com/webpack-contrib/less-loader/issues/184

λ˜ν•œ 이 ν•΄κ²° 방법에 μ–΄λ–€ λ²„μ „μ˜ antdλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ—ˆμŠ΅λ‹ˆκΉŒ? λ‚΄κ°€ λ¬»λŠ” μ΄μœ λŠ” [email protected] 및 [email protected] μœΌλ‘œλ„ μ„±κ³΅ν•˜μ§€ λͺ»ν–ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€(webpack은 λ³€κ²½ ν›„ ν•΄κ²°ν•˜λŠ” 데 λ¬Έμ œκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€). ..

이것이 λˆ„κ΅°κ°€μ—κ²Œ 도움이 λ˜λŠ”μ§€ λͺ¨λ₯΄κ² μ§€λ§Œ λ‹€μŒμ€ μ‚¬μš© 쀑인 ꡬ성 μš”μ†Œμ— λŒ€ν•΄μ„œλ§Œ CSSλ₯Ό κ°€μ Έμ˜€λŠ” 데 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

import Modal from 'antd/lib/modal'
import 'antd/lib/modal/style/css'

이것이 λˆ„κ΅°κ°€μ—κ²Œ 도움이 λ˜λŠ”μ§€ λͺ¨λ₯΄κ² μ§€λ§Œ λ‹€μŒμ€ μ‚¬μš© 쀑인 ꡬ성 μš”μ†Œμ— λŒ€ν•΄μ„œλ§Œ CSSλ₯Ό κ°€μ Έμ˜€λŠ” 데 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

import Modal from 'antd/lib/modal'
import 'antd/lib/modal/style/css'

예, 이것은 λ§Žμ€ ꡬ성 μš”μ†Œμ—μ„œ μ œλŒ€λ‘œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. κ·€ν•˜μ˜ λ§ˆμΌλ¦¬μ§€λŠ” λ‹€λ₯Ό 수 μžˆμ§€λ§Œ 적어도 Selectμ—λŠ” ꡬ성 μš”μ†Œ 고유의 μŠ€νƒ€μΌ 이상이 ν•„μš”ν•©λ‹ˆλ‹€. 선택 ν•­λͺ©μ˜ "제거" μ•„μ΄μ½˜μ€ 그렇지 μ•ŠμœΌλ©΄ λ Œλ”λ§λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 문제λ₯Ό μ™„μ „νžˆ 좔적할 μ‹œκ°„μ΄ μ—†μ—ˆμ§€λ§Œ μ•„λ§ˆλ„ μ‚¬μ†Œν•œ 문제일 κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ 일뢀 ꡬ성 μš”μ†Œμ˜ κΈ°λ³Έ μŠ€νƒ€μΌμ—μ„œ 일뢀 μŠ€νƒ€μΌμ„ λͺ¨λ°©ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

이 μ˜΅μ…˜μ΄ μ™„λ²½ν•˜μ§€λŠ” μ•Šμ§€λ§Œ λ§Žμ€ ꡬ성 μš”μ†Œμ—μ„œ 잘 μž‘λ™ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž μ •μ˜ μŠ€νƒ€μΌμ€ μ—…λ°μ΄νŠΈλ‘œ 인해 쀑단될 μœ„ν—˜μ΄ μžˆμ§€λ§Œ μ—…λ°μ΄νŠΈλ₯Ό μˆ˜ν–‰ν•˜λ €λŠ” μ‹œκΈ°λ₯Ό λΆ„λͺ…νžˆ μ œμ–΄ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ 우리 쑰직을 μœ„ν•΄ 찾은 졜고의 μ†”λ£¨μ…˜μ€ antd의 전체 CSS μ‹œνŠΈλ₯Ό ν¬ν•¨ν•˜κ³  antd 이름이 μ§€μ •λ˜μ§€ μ•Šμ€ μŠ€νƒ€μΌμ— 영ν–₯을 λ―ΈμΉ˜λŠ” μŠ€νƒ€μΌμ€ μ œκ±°ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ§ˆμΌλ¦¬μ§€λŠ” λ‹€λ₯Ό 수 있으며 ν˜„μž¬ κ°€μ Έμ˜€λŠ” _λͺ¨λ“ _ μŠ€νƒ€μΌμ˜ 단점이 λΆ„λͺ…νžˆ μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 그것은 잘 μž‘λ™ν•˜κ³  μ§€κΈˆ μ•½ 두 달 λ™μ•ˆ κ·Έλ ‡κ²Œ ν•œ 후에 μ–΄λ–€ λ¬Έμ œλ„ 보지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

@jaleikas
이에 λŒ€ν•œ ν•΄κ²° 방법을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ? λ‚΄κ°€ 말할 수 μžˆλŠ” ν•œ [email protected] 의 λ¬Έμ œλŠ” μ—¬μ „νžˆ ν•΄κ²°λ˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ NormalModuleReplacementPlugin으둜 μ œμ•ˆλœ μˆ˜μ • 사항이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·Έ μ†”λ£¨μ…˜μ€ μˆ˜λ™μœΌλ‘œ μž¬μ •μ˜ν•˜κ³  λ²”μœ„λ₯Ό 지정할 수 있기 λ•Œλ¬Έμ— μ‹€μ œλ‘œ κ°€μž₯ 쒋은 μ†”λ£¨μ…˜μΈ 것 κ°™μŠ΅λ‹ˆλ‹€.
λ‚˜λŠ” λ‹Ήμ‹ κ³Ό 같은 것을 μ‹œλ„ν•˜μ—¬ 덜 λ‘œλ”λ₯Ό λ‹€μš΄ κ·Έλ ˆμ΄λ“œν–ˆμ§€λ§Œ webpack 해결이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ—¬κΈ°μ—μ„œ [email protected] λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

이 문제둜 κ³ ν†΅λ°›λŠ” μ‚¬λžŒλ“€μ€ μ €μž₯μ†Œμ—μ„œ 직접 νŒ¨ν‚€μ§€λ₯Ό μΆ”κ°€ν•˜μ—¬ λ‚΄ 포크λ₯Ό μ‹œλ„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

yarn add github:serguzest/ant-design#3.4.1-NoCssPollution

λ˜λŠ”

npm install github:serguzest/ant-design#3.4.1-NoCssPollution

베이슀만 버리고 λ‹€λ₯Έ μˆ˜μ • 없이 μ§€μ—ˆμŠ΅λ‹ˆλ‹€. 제 κ²½μš°μ—λŠ” μž‘λ™ν•˜μ§€λ§Œ λ§Žμ€ ꡬ성 μš”μ†Œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 특히 ν”„λ‘œμ νŠΈμ— μ μ ˆν•œ μž¬μ„€μ • μŠ€νƒ€μΌ μ‹œνŠΈκ°€ 아직 μ—†λŠ” 경우 일뢀 ꡬ성 μš”μ†Œμ˜ 영ν–₯을 받을 수 μžˆμŠ΅λ‹ˆλ‹€. #4546

이것은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•©λ‹ˆλ‹€

μ΄κ²ƒμœΌλ‘œ κ³ ν†΅λ°›λŠ” μ‚¬λžŒλ“€μ€ μ €μž₯μ†Œμ—μ„œ 직접 νŒ¨ν‚€μ§€λ₯Ό μΆ”κ°€ν•˜μ—¬ λ‚΄ 포크λ₯Ό μ‹œλ„ν•˜κ³  μ‹Άμ–΄ν•  κ²ƒμž…λ‹ˆλ‹€.

yarn add github:serguzest/ant-design#3.4.1-NoCssPollution

λ˜λŠ”

npm install github:serguzest/ant-design#3.4.1-NoCssPollution

base.less만 μ œμ™Έν•˜κ³  λ‹€λ₯Έ μˆ˜μ • 없이 λΉŒλ“œν–ˆμŠ΅λ‹ˆλ‹€. 제 κ²½μš°μ—λŠ” μž‘λ™ν•˜λ©° λ§Žμ€ ꡬ성 μš”μ†Œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 특히 ν”„λ‘œμ νŠΈμ— μ œλŒ€λ‘œ μž¬μ„€μ •λœ μŠ€νƒ€μΌμ‹œνŠΈκ°€ μ—†λŠ” 경우 특히 일뢀 κ΅¬μ„±μš”μ†Œμ˜ λͺ¨μ–‘이 깨질 κ²ƒμž…λ‹ˆλ‹€. #4546

이 μ†”λ£¨μ…˜μ„ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!

이에 λŒ€ν•œ ν•΄κ²° 방법을 μ°Ύμ•˜μŠ΅λ‹ˆκΉŒ? λ‚΄κ°€ 말할 수 μžˆλŠ” ν•œ [email protected] 의 λ¬Έμ œλŠ” μ—¬μ „νžˆ ν•΄κ²°λ˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ NormalModuleReplacementPlugin으둜 μ œμ•ˆλœ μˆ˜μ • 사항이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. κ·Έ μ†”λ£¨μ…˜μ€ μˆ˜λ™μœΌλ‘œ μž¬μ •μ˜ν•˜κ³  λ²”μœ„λ₯Ό 지정할 수 있기 λ•Œλ¬Έμ— μ‹€μ œλ‘œ κ°€μž₯ 쒋은 μ†”λ£¨μ…˜μΈ 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” antd μ‚¬μš©μ„ μ€‘λ‹¨ν•˜κ³  μŠ€νƒ€μΌμ΄ μ§€μ •λ˜μ§€ μ•Šμ€ ꡬ성 μš”μ†Œ(예: rc-switch)λ₯Ό μ„ νƒν•˜κΈ°λ‘œ κ²°μ •ν–ˆμŠ΅λ‹ˆλ‹€. λ¬Έμ œλŠ” λŒ€λΆ€λΆ„μ˜ "μŠ€νƒ€μΌμ΄ μ§€μ •λ˜μ§€ μ•Šμ€" ꡬ성 μš”μ†Œκ°€ λ”μ°ν•˜κ±°λ‚˜ λ¬Έμ„œν™”λ˜μ§€ μ•Šμ•˜μœΌλ©° μΌλΆ€λŠ” λ‹€λ₯΄κ²Œ λ™μž‘ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μ΄λ―€λ‘œ λŒ€λΆ€λΆ„ ν¬κΈ°ν•˜κ³  λ‹€λ₯Έ 곳을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€...

μ•ˆλ…•ν•˜μ„Έμš”, .ant둜 μ‹œμž‘ν•˜λŠ” λͺ¨λ“  μš”μ†Œλ₯Ό β€‹β€‹μΌμΉ˜μ‹œν‚€κ³  μŠ€νƒ€μΌμ„ ν• λ‹Ήν•˜λŠ” 것이 κ°€λŠ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.

*[클래슀^='개미-']{
μƒμž 크기 μ‘°μ •: ν…Œλ‘λ¦¬ μƒμž;
-μ›Ήν‚· νƒ­ κ°•μ‘° ν‘œμ‹œ 색상: rgba(0, 0, 0, 0); // λͺ¨λ°”일 μ‚¬νŒŒλ¦¬μ˜ νƒ­ ν•˜μ΄λΌμ΄νŠΈ 색상 제거
}

λΈŒλΌμš°μ € κ°„ ν˜Έν™˜μ„±μ΄ μžˆμ–΄μ•Ό ν•˜λ©° κ΅¬ν˜„ν•˜λŠ” 데 였랜 μ‹œκ°„μ΄ 걸리지 μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

@tylik1 , κ°μ‚¬ν•©λ‹ˆλ‹€! λ‚˜λ¨Έμ§€ μ „μž μ•±κ³Ό μΌμΉ˜ν•˜λ„λ‘ κΈ€κΌ΄ λͺ¨μŒμ„ μˆ˜μ •ν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€. 이것은 λ‚˜λ₯Ό μ™„μ „νžˆ κ΅¬ν–ˆμŠ΅λ‹ˆλ‹€.

이것이 λˆ„κ΅°κ°€μ—κ²Œ 도움이 λ˜λŠ”μ§€ λͺ¨λ₯΄κ² μ§€λ§Œ λ‹€μŒμ€ μ‚¬μš© 쀑인 ꡬ성 μš”μ†Œμ— λŒ€ν•΄μ„œλ§Œ CSSλ₯Ό κ°€μ Έμ˜€λŠ” 데 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

import Modal from 'antd/lib/modal'
import 'antd/lib/modal/style/css'

그것은 λ‹€μŒκ³Ό 같이 λ‚˜λ₯Ό μœ„ν•΄ μΌν•©λ‹ˆλ‹€.

import Icon from 'antd/lib/icon';
import 'antd/lib/icon/style/index.css';

λΆˆν–‰νžˆλ„ 이것은 μ‡Ό μŠ€ν† νΌμž…λ‹ˆλ‹€. λ‚ μ§œ 선택 도ꡬ가 μ§€κΈˆκΉŒμ§€ λ‚΄κ°€ 찾을 수 μžˆλŠ” μ΅œκ³ μž„μ—λ„ λΆˆκ΅¬ν•˜κ³  Antdλ₯Ό κ΅¬ν˜„ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

μš°λ¦¬λŠ” ν˜„μž¬ 우리 νšŒμ‚¬μ˜ λ°˜μ‘ ꡬ성 μš”μ†Œ 라이브러리λ₯Ό μ°Ύκ³  있으며 이것은 μš°λ¦¬μ—κ²Œλ„ 차단 문제이며 μ•„λ§ˆλ„ κ·Έ λ•Œλ¬Έμ— antλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

μš°λ¦¬λŠ” λ˜ν•œ ν›Œλ₯­ν•œ ν…Œλ§ˆ μ˜΅μ…˜μ΄ μžˆλŠ” react MUIλ₯Ό μ‚΄νŽ΄λ³΄κ³  μžˆμŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ 그듀이 μ–΄λ–»κ²Œ ν•˜κ³  λΉ„μŠ·ν•œ 것을 κ΅¬ν˜„ν•˜λŠ”μ§€ λ³Ό 수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

λ‚˜λŠ” https://www.npmjs.com/package/patch-package λ₯Ό μ‚¬μš©ν•˜μ—¬ 주석을 λ‹¬μ•˜μŠ΅λ‹ˆλ‹€.

// import 'normalize.css/normalize.css';

antd-mobile/es/style/index.js λΆ€ν„°
제 λͺ©μ μ€ next.js λ₯Ό λΉŒλ“œν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 제 κ²½μš°μ—λŠ” 헀더에 CND 링크λ₯Ό λŒ€μ‹  ν¬ν•¨μ‹œμΌ°μŠ΅λ‹ˆλ‹€.

2020λ…„, 인λ₯˜λŠ” μ£½κ³ , μ½”λ‘œλ‚˜λ°”μ΄λŸ¬μŠ€, 개미 λ””μžμΈμ€ ν”„λ‘œμ νŠΈμ— κΈ€λ‘œλ²Œ μŠ€νƒ€μΌμ„ μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€...

#9363μ—μ„œ 좔적

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰