Next.js: Π˜ΠΌΠΏΠΎΡ€Ρ‚ css с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости ΠΈΠ· node_modules Π²Π½Π΅ _app

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 21 Π°ΠΏΡ€. 2020  Β·  49ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: vercel/next.js

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС

ΠžΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ

Π˜ΠΌΠΏΠΎΡ€Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° страницС Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π΄Π°Π΅Ρ‚ с этой ошибкой:

Global CSS cannot be imported from files other than your Custom <App>. Please move all global CSS imports to pages/_app.tsx.
Read more: https://err.sh/next.js/css-global

Π₯отя я понимаю, ΠΎΡ‚ΠΊΡƒΠ΄Π° это взялось, это Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Если я ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΌΠ½Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS. ΠœΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ свои сСлСкторы, Π½ΠΎ это Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΌΠ½Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ это ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. CSS, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΠΎ своСй сути Π½Π΅ являСтся Β«Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΒ».

Π’ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ

  1. import "my-library/index.css"
  2. yarn dev
  3. Π― ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ сообщСниС ΠΎΠ± ошибкС свСрху

ОТидаСмоС повСдСниС

Π€Π°ΠΉΠ» слСдуСт ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

Π― Π²ΠΈΠΆΡƒ эти Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π»Π°Π³ Π² next.config.js
  • ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅
  • ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Ρ‚ΡŒ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, содСрТит Π»ΠΈ CSS Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСлСкторы с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ контСкст

Об этом ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅.

Из блога

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΠ΅Π½ классов ΠΈ порядка для Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… стилСй.

Π― Π½Π΅ согласСн с этим ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ, мотивируя это Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ внСшняя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ CSS ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π° CSS для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. Π§Ρ‚ΠΎ являСтся Π²ΠΏΠΎΠ»Π½Π΅ допустимой ΠΈ распространСнной ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹Ρ… эффСктов .

# 10059

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π² _app являСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.
Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ описываСт Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π΅ послСдовало, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π²Ρ‹Π·Π²Π°Π» ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ², Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ я полагаю, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ я столкнулся с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

# 10975

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ.

# 9830

ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано, Π½ΠΎ я Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½.

Мой Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования

Π― ΠΏΠΈΡˆΡƒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ с мноТСством нСстандартных Ρ€Π°Π±ΠΎΡ‚ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΉ. Π’ ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ частныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ npm с Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ SVG с нСбольшим количСством CSS. Π­Ρ‚ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ CSS ΠΈ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ index.js ΠΈ index.css . Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ всСх Ρ„Π°ΠΉΠ»ΠΎΠ² CSS Π² _app Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ всСго CSS, Π΄Π°ΠΆΠ΅ Ссли люди находятся Π½Π° домашнСй страницС, Π² ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈΠ»ΠΈ Π² любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½Π° Π½Π° 100% Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ файловая систСма Π·Π°Π±ΠΎΡ‚ΠΈΠ»Π°ΡΡŒ ΠΎ Π²Π°ΡˆΠΈΡ… страницах, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ каТдая страница соотвСтствуСт ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρƒ CSS Π² _app .

story 8 feature request

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠœΡ‹ собираСмся Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ CSS ΠΈΠ· node_modules Π² любой Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ (Π½Π° ΠΊΠ°Π½Π°Ρ€Π΅ΠΉΠΊΠ΅)! ΠœΡ‹ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ здСсь, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

ВсС 49 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡΡŒ с Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, просто ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Linaria, которая ΠΈΠΌΠ΅Π΅Ρ‚ собствСнныС ΠΈΠΌΠ΅Π½Π° классов. Π₯отя Ρ„Π°ΠΉΠ»Ρ‹ css, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ создаСт, Π½Π΅ ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° .module.css , ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ «модулями». МнС Π½ΡƒΠΆΠ΅Π½ простой способ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ.

ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΠ΅Ρ€Π΅ΡˆΠ»ΠΈ Π½Π° nextjs снова?

Π― Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GlobalCSS Π²Π½Π΅ node_modules. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ постСпСнно Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ CSS.

Π΄Π° это ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ! ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ npm Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с nextjs, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с CRA ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌΠΈ

Для всСх, ΠΊΡ‚ΠΎ пытаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ js dart sass для Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠ°ΠΊ @use support ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ sass, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ -любой- Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ node, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зависит ΠΎΡ‚ node-sass, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ настройка ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ node-sass вмСсто sass. Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎ я исправил это, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

// example next.config.js
module.exports = {
webpack(config, options) {
  config.module.rules.forEach(rule => {
          if (rule.oneOf) {
            const nestedScss = rule.oneOf.find((one) => {
              return one.test
                && 'some.scss'.match(one.test) 
                && one.issuer 
                && one.issuer.include 
                && one.issuer.include.includes('_app');
            });
            if (nestedScss) {
              const sassLoader = nestedScss.use.find(u => u.loader.includes('sass-loader'));
              // Set implementation to sass instead of node-sass here.
              sassLoader.options.implementation = require('sass');
            }
          }
        })
  }
}

Π—Π°Ρ‚Π΅ΠΌ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ваши scss-Ρ„Π°ΠΉΠ»Ρ‹ Π² _app.js .

@smurrayatwork, это Π²Π·Π»ΠΎΠΌ, Π° Π½Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ·Π²ΠΈΠ½ΠΈΡ‚Π΅

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° использованиС ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ _app.js Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π΅ΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

Если ΠΌΡ‹ Π½Π΅ собираСмся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ссылки CSS ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° CSS Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ посрСдством прямых зависимостСй _app (Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ большС Π½ΠΈΠ³Π΄Π΅ Π½Π΅Ρ‚ ссылок)?
Ρ‚.Π΅. Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ссли этого Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ _app (ΠΈ Π½ΠΈΠ³Π΄Π΅ большС), Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ CSS Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ порядок, основанный Π½Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅.

Π­Ρ‚ΠΎ Π½Π΅ идСально, ΠΎΠ΄Π½Π°ΠΊΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ мСня Π΅ΡΡ‚ΡŒ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ мСня Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° кодовая Π±Π°Π·Π°, совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ нСсколькими прилоТСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΉ CSS. Π― Π±Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π» Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΎΠ±Ρ‰ΠΈΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ CSS Π² _app.js для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прилоТСния. Π’ настоящСС врСмя, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это, ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²Ρ‹Ρ… ΠΌΠ΅Ρ‚Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΉ js, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ css Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… модулях.

ВмСсто этого я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΉ Π½Ρ‹Π½Π΅ΡˆΠ½ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π», Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: Ρƒ мСня Π΅ΡΡ‚ΡŒ Β«Π€Π°Π±Ρ€ΠΈΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉΒ», которая ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ вСсь ΠΎΠ±Ρ‰ΠΈΠΉ CSS. Π—Π°Ρ‚Π΅ΠΌ _app ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ собствСнный CSS ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΎΠ±Ρ‰ΠΈΡ….

Π― добавляю https://github.com/vercel/next.js/discussions/13991, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это связано с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

+100 ΠΊ этому. МнС Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ css модуля ΡƒΠ·Π»Π° Π² ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ .module.css

Π’ΠΎΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

Π’ случаС ΠΏΠ°ΠΊΠ΅Ρ‚Π° pdf-viewer-reactjs Π΅Π³ΠΎ зависимости Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· _app.js .

Π­Ρ‚ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½ΠΈΠ΅ CSS для всСго прилоТСния, ΠΈ я Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½ Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°Ρ… Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС.

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 'response-quill / dist / quill.snow.css';
ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 'response-image-crop / dist / ReactCrop.css';
import '../../node_modules/material-design-icons/iconfont/material-icons.css';
import '../../node_modules/bulma/css/bulma.css';
import '../../node_modules/bulma-helpers/css/bulma-helpers.min.css';

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° консоль выводится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ - ./node_modules/material-design-icons/iconfont/material-icons.css
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ CSS нСльзя ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· node_modules.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅: https://err.sh/next.js/css-npm
РасполоТСниС: node_modules / pdf-viewer-reactjs / dist / pdf-viewer-reactjs.js

./node_modules/bulma/css/bulma.css
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ CSS нСльзя ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· node_modules.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅: https://err.sh/next.js/css-npm
РасполоТСниС: node_modules / pdf-viewer-reactjs / dist / pdf-viewer-reactjs.js

./node_modules/bulma-helpers/css/bulma-helpers.min.css
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ CSS нСльзя ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· node_modules.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅: https://err.sh/next.js/css-npm
РасполоТСниС: node_modules / pdf-viewer-reactjs / dist / pdf-viewer-reactjs.js

./node_modules/material-design-icons/iconfont/material-icons.css
Ошибка сборки модуля: ошибка: ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ (./node_modules/next/dist/build/webpack/loaders/error-loader.js) Π½Π΅ Π²Π΅Ρ€Π½ΡƒΠ» Π±ΡƒΡ„Π΅Ρ€ ΠΈΠ»ΠΈ строку

./node_modules/bulma/css/bulma.css
Ошибка сборки модуля: ошибка: ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ (./node_modules/next/dist/build/webpack/loaders/error-loader.js) Π½Π΅ Π²Π΅Ρ€Π½ΡƒΠ» Π±ΡƒΡ„Π΅Ρ€ ΠΈΠ»ΠΈ строку

./node_modules/bulma-helpers/css/bulma-helpers.min.css
Ошибка сборки модуля: ошибка: ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ (./node_modules/next/dist/build/webpack/loaders/error-loader.js) Π½Π΅ Π²Π΅Ρ€Π½ΡƒΠ» Π±ΡƒΡ„Π΅Ρ€ ΠΈΠ»ΠΈ строку

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ! Π£ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ это Ρ€Π΅ΡˆΠ°Π»ΠΎΡΡŒ ΠΈ ΠΊΠ°ΠΊ? Π’Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ·Π»ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° этого.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, использованиС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… стилСй Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ next.config.js , ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΡƒΡ€ΠΎΠ΄Π»ΠΈΠ²ΠΎΠ΅ консольноС ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… стилях, Ссли Π΅ΡΡ‚ΡŒ опасСния ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ / ΠΌΠ½Π΅Π½ΠΈΠΉ NextJS.

Но это Π²Π°ΠΆΠ½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, пСрСходящих с CRA> NextJS. Π­Ρ‚ΠΎ Π±Π»ΠΎΠΊΠΈΡ€Π°Ρ‚ΠΎΡ€ для нас, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ, Π° Π·Π°Ρ‚Π΅ΠΌ постСпСнно Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ CSS.

ВсС Π΅Ρ‰Π΅ Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это. Для своих Π½ΡƒΠΆΠ΄ я использовал собствСнный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ CSS, Π½ΠΎ это ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ CSS, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для всСх случаСв. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π½ΠΈΠΆΠ΅ Π½Π΅ рСкомСндуСтся , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π΅ разбСрутся с этим.

next.config.js

const withCSS = require('@zeit/next-css');
const withPlugins = require('next-compose-plugins');
...
module.exports = withPlugins([
...
withCSS,
]);

@abdelrahmantoptal 's Π’Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ это Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для SASS?

ΠŸΠΎΡ…ΠΎΠΆΠ΅, это Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для CSS, Π½ΠΎ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ SASS:

error - ./src/components/layouts/Footer.scss 1:0
Module parse failed: Unexpected character '@' (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
> <strong i="8">@import</strong> 'styles/vars';
| 
| footer {

поэтому я попытался Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ SASS Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ webpack ΠΏΠ΅Ρ€Π΅Π΄ использованиСм ΠΏΠ»Π°Π³ΠΈΠ½Π° withCSS:

      config.module.rules.push({
        test: /\.s[ac]ss$/i,
        use: [
          // Creates `style` nodes from JS strings
          'style-loader',
          // Translates CSS into CommonJS
          'css-loader',
          // Compiles Sass to CSS
          'sass-loader'
        ]
      });

Но это Π²Ρ‹Π·Π²Π°Π»ΠΎ:

error - ./src/components/App.scss
ReferenceError: self is not defined

Π― Ρ‚Π°ΠΊΠΆΠ΅ попытался Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ @zeit/next-sass , Π½ΠΎ это Π²Ρ‹Π·Π²Π°Π»ΠΎ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ:

error - ./src/components/App.scss
ReferenceError: self is not defined

Π•ΡΡ‚ΡŒ прСдлоТСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ для использования SASS?

ΠšΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ случайно ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» https://github.com/balena-io-modules/rendition ?

https://github.com/balena-io-modules/rendition/issues/1164

Π― отказался ΠΎΡ‚ Gatsby, Π° вскорС ΠΈ ΠΎΡ‚ Next.js ΠΈΠ·-Π·Π° ΠΈΡ… Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…, самоувСрСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ эта. БСйчас я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ CodeBlock для CKEditor 5, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ. ВсСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ способ обвСсти эти ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π‘Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ новости ΠΎΠ± этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΎΡ‚ @Timer ΠΈΠ»ΠΈ ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΈΠ·

Богласованный! НСвСроятно распространСно ΠΈΠΌΠ΅Ρ‚ΡŒ CSS Π² модулях ΡƒΠ·Π»ΠΎΠ². Как Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‚ свои ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΡƒΠ·Π»ΠΎΠ², ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ css Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΡƒΠ·Π»Π° Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°.

@OssiPesonen Π²Ρ‹ это ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ? Π­Ρ‚ΠΎΡ‚ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ Π½Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½, Π½ΠΎ Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ для мСня.

@OssiPesonen Π²Ρ‹ это ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ? Π­Ρ‚ΠΎΡ‚ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ Π½Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½, Π½ΠΎ Ρ‚Π΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ Ρ€Π΅ΡˆΠΈΠ» ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ для мСня.

НС понимаю, ΠΊΠ°ΠΊ это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚? ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ CSS ΠΈΠ· ΡƒΠ·Π»ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ npm сами ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ CSS. ΠŸΠ°ΠΊΠ΅Ρ‚, содСрТащий Ρ‚Π°ΠΊΡƒΡŽ ​​строку:

import '../theme/stylesheet.css'

Заставит next.js Π²Ρ‹Π»Π΅Ρ‚Π΅Ρ‚ΡŒ с ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠΉ силой. И, Π²ΠΈΠ΄ΠΈΠΌΠΎ, совСт ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΈ попроситС Π΅Π³ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ своСй зависимости.

Π’ ΠΊΠ°ΠΊΠΎΠΉ странС Ρ„Π°Π½Ρ‚Π°Π·ΠΈΠΉ ΠΆΠΈΠ²ΡƒΡ‚ люди, Π³Π΄Π΅, ΠΏΠΎ ΠΈΡ… мнСнию, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ с ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для вас ΠΏΠ°ΠΊΠ΅Ρ‚ Π² ΠΎΡ‡Π΅Π½ΡŒ быстром Ρ‚Π΅ΠΌΠΏΠ΅? Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ нСдСлями! Π­Ρ‚ΠΎΡ‚ Π±ΠΈΠ»Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ ΡƒΠΆΠ΅ 4 мСсяца. Π­Ρ‚ΠΎ нСдопустимо ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ быстро ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

ΠœΡ‹ собираСмся Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ CSS ΠΈΠ· node_modules Π² любой Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ (Π½Π° ΠΊΠ°Π½Π°Ρ€Π΅ΠΉΠΊΠ΅)! ΠœΡ‹ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ здСсь, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

Если ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ это Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎ выпуска, я смог ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½ next-transpile-modules для пСрСноса модуля ΠΈΠ· node_modules ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π» CSS. Π‘Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ для мСня ΠΊΠ°ΠΊ ΡˆΠ°Ρ€ΠΌ.

@BrandonE каТСтся, Ρ‡Ρ‚ΠΎ next-transpile-modules всС Π΅Ρ‰Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с ΠΈΠΌΠ΅Π½Π΅ΠΌ *.module.css . Π’Ρ‹ нашли способ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это?

@rjoaopereira НС ΠΌΠΎΠ³Ρƒ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ мСня Π΅ΡΡ‚ΡŒ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΎΠΈΡ… node_modules , ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… CSS, Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ @zeit/next-css . Волько ΠΎΠ΄ΠΈΠ½ Π½Π΅ сдСлал, ΠΈ Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ транспиляция устранила ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Π­Ρ‚ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ изящноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΈ я надСюсь, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΠ΅ вСрсии Next.js позволят Π½Π°ΠΌ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ мСньшС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Π°Π»Ρ…ΠΈΠΌΠΈΡŽ Babel / Webpack ΠΈ большС Π½Π° созданиС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π£ мСня это ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ измСнСниями.

ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ 9.5.3
ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ транспайл-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ 4.1.0
ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠΉ стороны с эмоциями.
Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ с сочСтаниСм ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ css ΠΈ глобального css

scopedcomponents слСдуСт Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ сторонними ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ.

//next.config.js
const withCustomWebpack = require("./webpack-custom.config");
const withNextCSSOverride = require("./next.config.css");
const withTM = require("next-transpile-modules")(["@scopedcomponents"]);

module.exports = withCustomWebpack(
  withTM(
    withNextCSSOverride({
      poweredByHeader: false
    })
  )
);

///next.config.css.js
const {
  getCssModuleLocalIdent
} = require("next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent");
const path = require("path");
/**
 * Stolen from https://stackoverflow.com/questions/10776600/testing-for-equality-of-regular-expressions
 */
const regexEqual = (x, y) => {
  return (
    x instanceof RegExp &&
    y instanceof RegExp &&
    x.source === y.source &&
    x.global === y.global &&
    x.ignoreCase === y.ignoreCase &&
    x.multiline === y.multiline
  );
};

module.exports = (nextConfig = {}) => {
  return Object.assign({}, nextConfig, {
    webpack(config, options) {
      const nextCssLoaders = config.module.rules.find(
        rule => typeof rule.oneOf === "object"
      );

      if (nextCssLoaders) {
        const nextCssLoader = nextCssLoaders.oneOf.find(
          rule =>
            rule.sideEffects === false &&
            regexEqual(rule.test, /\.module\.css$/)
        );

        if (nextCssLoader) {
          /***********************************************************
           * change the rule to match all scopedcomponents css files
           ***********************************************************/
          nextCssLoader.test = /(@scopedcomponents|react\-virtualized)\/.*\.css$/;

          const cssLoader = nextCssLoader.use.find(({ loader }) =>
            loader.includes("css-loader")
          );

          if (cssLoader) {
            /***********************************************************
             * Override the default behaviour for CSS modules discovery
             * auto = true makes webpack search for *.module.css
             * https://webpack.js.org/loaders/css-loader/#auto
             ***********************************************************/
            cssLoader.options.modules.auto = /@scopedcomponents\/.*\.css$/;
            /***********************************************************
             * Nextjs overrides the default mode to "Pure"
             * https://github.com/vercel/next.js/blob/v9.5.2/packages/next/build/webpack/config/blocks/css/loaders/modules.ts#L35
             * Put it back to normal
             ***********************************************************/
            cssLoader.options.modules.mode = "local";
            /***********************************************************************************************************************
             * There is a problem when using components built with css-modules with Nextjs.                                        *
             * NextJS will consume code from `lib` on the server side and from `es` on the client.                                 *
             * https://github.com/vercel/next.js/blob/v9.5.2/packages/next/build/webpack-config.ts#L374                            *
             * This raises a problem when generating the classes for different environments,                                       *
             * throwing an error of className mismatch due to the hash created being based on the file path                        *
             * https://github.com/vercel/next.js/blob/v9.5.2/packages/next/build/webpack/config/blocks/css/loaders/modules.ts#L26  *
             * https://github.com/webpack/loader-utils/blob/v1.4.0/lib/interpolateName.js#L39                                      *
             * To solve this, when generating the classNames for 3rd party components,                                                 *
             * we need to tell cssloader to always use the same path                                                               *                                                                          *
             *                                                                                                                     *
             *  https://github.com/zeit/next-plugins/issues/595                                                                    *
             ***********************************************************************************************************************/
            cssLoader.options.modules.getLocalIdent = (
              context,
              localIdentName,
              localName,
              options
            ) => {
              const newContext = { ...context };
              if (newContext.resourcePath.includes("@scopedcomponents")) {
                newContext.resourcePath = newContext.resourcePath.replace(
                  `${path.sep}es${path.sep}`,
                  `${path.sep}lib${path.sep}`
                );
              }
              return getCssModuleLocalIdent(
                newContext,
                localIdentName,
                localName,
                options
              );
            };
          }
        }
      }

      if (typeof nextConfig.webpack === "function") {
        return nextConfig.webpack(config, options);
      }

      return config;
    }
  });
};

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  • Π£ мСня большС Π½Π΅Ρ‚ SSR Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • Π£ мСня всС Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ CSS Π² производствС, Π½ΠΎ Π½Π΅ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΠ΅ΠΉ для удалСния next-css, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² https://github.com/vercel/next.js/issues/11448 ΠΈ https://github.com /vercel/next.js/issues/10148

@Timer Π΅ΡΡ‚ΡŒ обновлСния ΠΏΠΎ этому

ΠœΡ‹ собираСмся Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ CSS ΠΈΠ· node_modules Π² любой Ρ„Π°ΠΉΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»ΠΈ (Π½Π° ΠΊΠ°Π½Π°Ρ€Π΅ΠΉΠΊΠ΅)! ΠœΡ‹ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ здСсь, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

Π‘ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ послС этого исправлСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ динамичСский ΠΈΠΌΠΏΠΎΡ€Ρ‚ CSS ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°?

Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ спасибо @Timer

next@^9.5.4-canary.10 Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ позволяСт ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ CSS ΠΈΠ· node_modules любом мСстС вашСго прилоТСния. Π­Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ взаимодСйствиС со сторонними Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ React, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈΡ… CSS, Π½ΠΎ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π» Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π° для всСго вашСго прилоТСния.

@Timer НС ΠΌΠΎΠ³Ρƒ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ этого Ρ€Π΅Π»ΠΈΠ·Π°, ΠΎΡ‡Π΅Π½ΡŒ Ρ†Π΅Π½ΡŽ Π²Π°ΡˆΡƒ Ρ€Π°Π±ΠΎΡ‚Ρƒ πŸ’― ❀️

Бпасибо @Timer !

Π’ настоящСС врСмя для мСня это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° я тСстировал это сСгодня, всС Π΅Ρ‰Π΅ Π²ΠΈΠ΄Π΅Π» Ρ‚ΠΎ ΠΆΠ΅ сообщСниС ΠΎΠ± ошибкС. Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ большСС, Ρ‡Π΅ΠΌ просто ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ 9.5.4-canary-10? Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ пытаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ @rmwc

image

@johmike Π’Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ с использованиСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ синтаксиса ??

import "@rmwc/avatar/avatar.css";

Π’Ρ‹ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвСр Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ послС установки послСднСй вСрсии next ?

@Timer Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ спасибо Π·Π° эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Ρ„Π°ΠΉΠ»Π° CSS ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ node_modules .

import 'prism-themes/themes/prism-darcula.css';

Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΏΠ»Π°Π½Ρ‹ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° глобального CSS Π²Π½Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ node_modules ?

@sasivarnan
Π­Ρ‚ΠΎ исходит ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, которая ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ @rmwc . Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ @require("@rmwc/avatar/avatar.css") . Π― ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽ import {Avatar} from "library/Avatar" ΠΈ это Π½Π΅ удаСтся.

@sasivarnan

Π­Ρ‚ΠΎ исходит ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, которая ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ @rmwc . Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ @require("@rmwc/avatar/avatar.css") . Π― ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽ import {Avatar} from "library/Avatar" ΠΈ это Π½Π΅ удаСтся.

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ. Π― Π΄ΡƒΠΌΠ°Π», это ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ прямо Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΈΠ½ΠΎΠ²Π°Ρ‚.

Будя ΠΏΠΎ коммСнтариям здСсь, Π½Π° самом Π΄Π΅Π»Π΅ это Π½Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΠ»ΠΈ Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ люди здСсь ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅. МногиС люди Π΄ΠΎ сих ΠΏΠΎΡ€ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ CSS ΠΈΠ· самого ΠΏΠ°ΠΊΠ΅Ρ‚Π° (Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ import style.css Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°).

ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, исправлСниС позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CSS ΠΈΠ· ΠΏΡƒΡ‚ΠΈ node_modules/ , Π½ΠΎ Π΅ΡΡ‚ΡŒ довольно простой способ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это: просто скопируйтС CSS Π² своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ исправлСн. Π­Ρ‚ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° уровня Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, это Π½Π΅ Ρ€Π΅ΡˆΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ простого Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Если Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°, Π² Ρ„Π°ΠΉΠ» CSS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит сам ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π»Π΅Ρ‚Π°Π΅Ρ‚.

@sasivarnan @OssiPesonen , ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π²Ρ‹ ΠΎΠ±Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅ ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅, Ρ‡Π΅ΠΌ Ρ‚Π°, которая ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π»Π°ΡΡŒ ΠΈ ΠΈΡΠΏΡ€Π°Π²Π»ΡΠ»Π°ΡΡŒ Π² этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ OP.

Π­Ρ‚ΠΎ, Π² частности, исправляСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΈΡ… CSS Π² своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

// components/MySlider.tsx
import { Slider } from "@reach/slider";
import "@reach/slider/styles.css";

function Example() {
  return <Slider min={0} max={200} step={10} />;
}

Π’ΠΎ, ΠΎ Ρ‡Π΅ΠΌ Π²Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅, - это Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ # 706 ΠΈ # 13282, ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ node_modules ΠΊΠ°ΠΊ собствСнный ΠΊΠΎΠ΄.

@Timer Π― Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ протСстировал ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования, ΠΈ ΠΎΠ½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

Когда я ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽ CSS Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ нСпосрСдствСнно ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ структуры, ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΊΠ°ΠΊ оТидалось, Π±Π΅Π· ошибок.
Однако, Ссли я ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Ρƒ этот ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ структуры, ΠΏΠΎΡΡ‚Ρ€ΠΎΡŽ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»ΡŽ этот ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΎΠ½ Π½Π΅ вСрнСтся ΠΊ Ρ‚ΠΎΠΉ ΠΆΠ΅ ошибкС, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅ происходит, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ я Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Avatar Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, я ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽ Button ΠΈ всС ΠΆΠ΅ Avatar - это ошибка сбоя.

image

Π’Π°ΠΊΠΆΠ΅ я Π΄ΠΎΠ±Π°Π²ΠΈΠ» next-transpile-modules ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Π½ΠΎ это, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π² этой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅.

Π― ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ странного ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, копавшСгося Π² ΠΊΡƒΡ‡Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΠΊΠΎΠ»ΠΎ next-transpile-modules .

const withCSS = require("@zeit/next-css");
module.exports = withCSS();
require.extensions[".css"] = () => {
  return;
};

Π― ΡƒΠ΄Π°Π»ΠΈΠ» next-transpile-modules ΠΈ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΠΎΠ½ΡΡ‚ΠΈΡ Π½Π΅ имСю, ΠΏΠΎΡ‡Π΅ΠΌΡƒ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ?

Π― Π·Π°Π³ΠΎΠ²ΠΎΡ€ΠΈΠ» слишком Ρ€Π°Π½ΠΎ! Π₯отя это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для next dev , next build Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ошибкой unknown token . (Ρ‚ΠΎΡ‡ΠΊΠ°) ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² CSS.

@Timer Π•ΡΡ‚ΡŒ мысли? Π”ΠΎΠ»ΠΆΠ½ΠΎ Π»ΠΈ это Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ с ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ нСсколькими ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ? Или ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ @ team / packageA ΠΌΠΎΠ³Π»Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ css ΠΈΠ· node_modules, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² @ team / packageB?

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ https://github.com/vercel/next.js/issues/13282 для этого повСдСния.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ [email protected], ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ css Π² любоС мСсто ΠΌΠΎΠ΅Π³ΠΎ прилоТСния. Но Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Ρ‚ΠΎ ΠΆΠ΅ самоС для Ρ„Π°ΠΉΠ»ΠΎΠ² scss? Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ scss, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π½Π° страницС .

// страницы / _app.tsx
import '../styles/common.scss'

// pages / index.tsx Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ
import '@mynpm/custom-ui/_Button.scss'

// pages / about.tsx Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΊΠ°Ρ€ΡƒΡΠ΅Π»ΡŒ
import '@mynpm/custom-ui/_Carousel.scss'

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° https://nextjs.org/docs/basic-features/built-in-css-support
Schermata 2020-10-13 alle 16 43 19

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:
ошибка - /Users/gp/dev/next-kolumbus/node_modules/@reach/dialog/styles.css
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ CSS нСльзя ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· node_modules.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅: https://err.sh/next.js/css-npm

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° https://nextjs.org/docs/basic-features/built-in-css-support
Schermata 2020-10-13 alle 16 43 19

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ:
ошибка - /Users/gp/dev/next-kolumbus/node_modules/@reach/dialog/styles.css
Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ CSS нСльзя ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· node_modules.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅: https://err.sh/next.js/css-npm

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ Next.js.

Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, я Π½Π΅ ΡƒΠΊΠ°Π·Π°Π» это Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π― использовал Π²Π΅Ρ€ΡΠΈΡŽ 9.5.5. Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ обновился с npm.

Π― очистил вСсь кСш .next, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Ошибка всС Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ вСрсия 9.5.5 , Π² _app -> import "react-gauge-chart-nextjs-support/dist/GaugeChart/style.css";

Screenshot 2020-11-12 at 14 12 11

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

iamstarkov picture iamstarkov  Β·  119ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Vista1nik picture Vista1nik  Β·  55ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

dunika picture dunika  Β·  58ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Timer picture Timer  Β·  60ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Timer picture Timer  Β·  90ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ