Next.js: Π‘Ρ‚ΠΈΠ»ΠΈ, Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π² Ρ‡Π°Π½ΠΊΠ°Ρ… css, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с исходным порядком

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

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

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

Π£ мСня Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… страницах. Когда я создаю ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, стили ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² страницы css; это создаСт Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ошибки.

НапримСр ( some-component ΠΈ initial-page-component-override - классы, примСняСмыС ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ элСмСнту Π² DOM Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ страницС):

Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ страница.chunk.css

// component styles
.some-component { margin-bottom: 10px; }

// page specific override
.initial-page-component-override { margin-bottom: 20px; }

second-page.chunk.css

// component styles
.some-component { margin-bottom: 10px; }

Когда second-page.chunk.css добавляСтся Π² DOM, стили ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π»ΡŽΠ±Ρ‹Ρ… стилСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ страницы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ страницС. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ потСряны, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ страницС примСняСтся Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅. NB это Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅.

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

Π¨Π°Π³ΠΈ ΠΏΠΎ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ повСдСния, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:

  1. ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π· https://github.com/petewarman/nextjs-css-module-issue
  2. npm i , npm run build , npm start
  3. НавСдитС курсор Π½Π° ΠΆΠ΅Π»Ρ‚ΠΎ-Π·Π΅Π»Π΅Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ
  4. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΎΠ½ становится Ρ€ΠΎΠ·ΠΎΠ²Ρ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° стилСй Π²Ρ‚ΠΎΡ€ΠΎΠΉ страницы ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°

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

ОбъявлСния стилСй Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² скомпилированных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… стилСй. Π‘Ρ‚ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ (Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅?) Над стилями страницы.

БистСмная информация

  • ОБ: macOS
  • ВСрсия Next.js: 9.3.6
  • ВСрсия Node.js: 10.16.3

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

Π£ мСня Ρ‚ΠΎΡ‡Π½ΠΎ такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: https://github.com/zeit/next.js/issues/11946#issuecomment -615298112

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

Π£ мСня Ρ‚ΠΎΡ‡Π½ΠΎ такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: https://github.com/zeit/next.js/issues/11946#issuecomment -615298112

Вакая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ здСсь: cry:
Π― описал свою ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ здСсь: https://github.com/zeit/next.js/pull/11901#issuecomment -614644961

Какой-Π»ΠΈΠ±ΠΎ прогрСсс? Π£ мСня всС Π΅Ρ‰Π΅ Ρ‚Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ Π² производство.
ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Π½Π° 9.3.7-canary.9

@EduardoPedrosa
Бтатус: v9.3.7-canary.11, ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° всС Π΅Ρ‰Π΅ сохраняСтся.

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρƒ нас аналогичная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΈΠ· ΠΎΠ±Ρ‰Π΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² нашСм ΠΌΠΎΠ½ΠΎΡ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ - Π»ΡŽΠ±Ρ‹Π΅ стили Π² нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ стилями Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ спСцифика стилСй Π² Ρ„Π°ΠΉΠ»Π°Ρ… CSS нашСго прилоТСния являСтся Π²Ρ‹ΡˆΠ΅ ΠΈ поэтому Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ это выглядит Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ :(

(ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ SCSS с @zeit/next-sass )

image

image

Когда я использовал @ zeit / next-sass ΠΈΠ»ΠΈ @ zeit / next-css, всС Π±Ρ‹Π»ΠΎ Π² порядкС с порядком, прСдпочтСниями ΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π°Π½ΠΊΠ°ΠΌΠΈ. : ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠ΅:

Настоящая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° для мСня начинаСтся, ΠΊΠΎΠ³Π΄Π° я ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» nextjs Π΄ΠΎ 9.3 ΠΈ Π½Π°Ρ‡Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ css.

Π― ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΎΠ±Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (next-sass ΠΈ встроСнный) - ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сущСствовала Π² ΠΎΠ±ΠΎΠΈΡ… случаях

Мой стСк:
1) ΠœΠΎΠ΄ΡƒΠ»ΠΈ CSS
2) SCSS
3) Dart-Sass с ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠΌ @use

ΠŸΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², ΠΈ этот Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для мСня (Π±Π΅Π· Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² стилСй):

1) package.json:

"@zeit/next-css": "^1.0.1",
"@zeit/next-sass": "^1.0.1",
"next": "9.2.1", (9.4.1 is current)
"node-sass": "npm:[email protected]", (this is dart sass, but can be used default)

2) next.config.js

const path = require('path')
const withSass = require('@zeit/next-sass')
const withCSS = require('@zeit/next-css')
const withBundleAnalyzer = require('@next/bundle-analyzer')({ // Optional, of course
  enabled: process.env.ANALYZE === 'true',
})

module.exports = withBundleAnalyzer(
  withCSS(
    withSass({
      cssModules: true,
      sassLoaderOptions: {
        // Resolving SASS absolute imports
        includePaths: [path.resolve(__dirname, 'src')],
      },
      cssLoaderOptions: {
        importLoaders: 2,
        localIdentName:
          process.env.NODE_ENV === 'production'
            ? '[hash:base64]'
            : '[name]__[local]__[hash:base64:5]',
      },
      webpack(config, options) {
        // Resolving absolute imports
        config.resolve.modules.push(path.join(__dirname, 'src'))

        // Make global styles work
        config.module.rules.forEach(rule => {
          if (rule.test && rule.test.toString().includes('.scss')) {
            rule.rules = rule.use.map(useRule => {
              if (typeof useRule === 'string') {
                return {
                  loader: useRule,
                }
              }

              if (useRule.loader.startsWith('css-loader')) {
                return {
                  oneOf: [
                    {
                      test: new RegExp('.module.scss$'),
                      loader: useRule.loader,
                      options: useRule.options,
                    },
                    {
                      loader: useRule.loader,
                      options: {},
                    },
                  ],
                }
              }
              return useRule
            })
            delete rule.use
          }
        })

        return config
      },
    }),
  ),
)

3) Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… (Π½Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ) стилСй, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

index.scss:

...
<strong i="19">@import</strong> '~emoji-mart/css/emoji-mart.css';
...

Π‘ΡƒΠ΄Π΅Ρ‚ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ, Ссли ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΡƒΡŽ β€‹β€‹ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ я ΠΌΠΎΠ³ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это:

.other-page__component-override { background: pink; }

Π‘ этим:

.other-page .component-override { background: pink; }

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, стили для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ страницы ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ страницС =).

Π£ мСня Ρ‚ΠΎΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с этой ошибкой.
Π― ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» next-css Π½Π° встроСнный css, ΠΈ это ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.
Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² производствСнном Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ CSR. Π’ SSR ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅Ρ‚.

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ 9.4.4 со встроСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ css, ΠΈ Ρƒ мСня Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, это происходит Π½Π° производствС.

Π’Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ 9.4.4. Волько Π² производствСнном Ρ€Π΅ΠΆΠΈΠΌΠ΅

Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ с нашСй производствСнной срСдой Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ вСрсии 9.4.4, ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ нашли Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Как ΠΈ ΠΏΡ€ΠΈ использовании node-sass , ΠΌΡ‹ ΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΈΠ· Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Ρ€Π΅ΡˆΠ°Π΅ΠΌ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, добавляя Π½ΠΎΠ²Ρ‹ΠΉ sassOptions Π² next.config.js

module.exports = {
  ...,
  sassOptions: {
    outputStyle: 'expanded',
  },
}

Бсылка: outputStyle

ПослС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠΌΠ΅Π½ΠΈ класса css послС next build , ΠΏΠΎΡ…ΠΎΠΆΠ΅, это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.
НадСюсь это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚!

Бпасибо, Ρ‡Ρ‚ΠΎ подСлились @ Howard86 , ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ, Π½ΠΎ здСсь Π½Π΅ сработало. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ next-css ΠΈ next-sass Π² Π½Π°ΡˆΠΈΡ… сборках (Π½Π΅ встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CSS ΠΈΠ· next ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π² этом выпускС), ΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ происходит Π² классах, исходящих ΠΈΠ· чистого css, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ css- ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ относятся ΠΊ стилям sass

@ Howard86 @ АлСксандр ΠœΠ°Ρ€Ρ‡ΠΈΠ½Π°

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ встроСнный CSS ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ 9.4.4, ΠΈ вашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ½Π΅ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ. :ΠΏΠ»Π°ΠΊΠ°Ρ‚ΡŒ:

Ρƒ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с antd ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ послСднСй 😞

Ρ‚Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. css загруТаСтся идСально Π² dev, Π½ΠΎ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ css Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ

Π’Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ здСсь.

Π˜ΡΠΏΡ‹Ρ‚Ρ‹Π²Π°Π»ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ вСрсиСй v9.5.1 ΠΏΡ€ΠΈ сборкС prod, ΠΏΡ€ΠΈ сборкС dev стили Π² порядкС.

Π­Ρ‚Π° ошибка Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ использованиС css-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² next.js (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ! Important Π² стили)

Π­Ρ‚Π° ошибка Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ использованиС css-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² next.js (ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ Ρ…ΠΎΡ‡Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ! Important Π² стили)

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ стилСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ стили. НапримСр, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΊΠ°ΠΊ Button <- IconButton <- MoreSpecificButton. Π’ этом случаС Button ΠΈΠΌΠ΅Π΅Ρ‚ свои собствСнныС стили, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ страницу ΠΈ поэтому ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ стили ΠΈΠ· IconButton ΠΈ MoreSpecificButton. Если IconButton ΠΈΠΌΠ΅Π΅Ρ‚ свои стили, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ .className.className , Π° MoreSpecificButton Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ свои стили ΠΊΠ°ΠΊ .className.className Ρ‚ΠΎ Button Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Π΅Π³ΠΎ. И учитывая Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ порядок стилСй IconButton ΠΈ MoreSpecificButton ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π² css, стили MoreSpecificButton всСгда Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ IconButton - оТидалось.

Π˜ΡΠΏΡ‹Ρ‚Ρ‹Π²Π°Π»ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ вСрсиСй v9.5.1 ΠΏΡ€ΠΈ сборкС prod, ΠΏΡ€ΠΈ сборкС dev стили Π² порядкС.

Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

+1 с ΠΏΠΎΠΏΡƒΡ‚Π½Ρ‹ΠΌ Π²Π΅Ρ‚Ρ€ΠΎΠΌ, Bootstrap. Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ - ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС стили Ρ‡Π΅Ρ€Π΅Π· ссылку rel Π² _document.js. Для Tailwind это кастомная сборка css. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°Π΅Ρ‚.

Π― ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ css с ΠΏΠΎΠΏΡƒΡ‚Π½Ρ‹ΠΌ Π²Π΅Ρ‚Ρ€ΠΎΠΌ (ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ css). ВстраиваниС css Ρ€Π΅ΡˆΠΈΠ»ΠΎ порядок Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½ΠΎ я Π½Π΅ знаю, дублируСтся Π»ΠΈ ΠΎΠ½ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ, это просто ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ. Π’ производствС я Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΡΡ‚ΠΈΠ»ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Π» Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

https://github.com/vercel/next-plugins/issues/238#issuecomment -432211871

Π­Ρ‚ΠΎ исправлСно Π² послСднСй вСрсии Canary Next.js. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° next@^9.5.3-canary.7 ΠΈ Π΄Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ Π·Π½Π°Ρ‚ΡŒ!

НС исправляСт для мСня, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, высота строк, Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π° ΡˆΡ€ΠΈΡ„Ρ‚Π°, Ρ†Π²Π΅Ρ‚Π° Ρ„ΠΎΠ½Π°, Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Ρ€Π°Π·Π½Ρ‹Π΅ Π² dev ΠΈ prod.

@talaikis, Ρ‚ΠΎΠ³Π΄Π° поТалуйста, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ выпуск с ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ воспроизводимой дСмонстрациСй! Π― протСстировал Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π² этом воспроизвСдСнии, ΠΈ сСйчас ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с canary .

Π˜ΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ мСня, Π½ΠΎ это Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΡƒΡŽ, Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.
Π’ ΠΌΠΎΠ΅ΠΌ случаС, ΠΊΠΎΠ³Π΄Π° я измСняю Ρ‚ΠΎΠ»ΡŒΠΊΠΎ URL-адрСс Ρ…ΡΡˆΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Router.push( localhost: 3000 / # change ) coming from localhost: 3000 `, всС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй снова ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ, вызывая ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ экрана.

НС ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ 9.5.3-canary.9 ?

@ Π’Π°ΠΉΠΌΠ΅Ρ€ Π·Π°ΠΏΡƒΡ‰Π΅Π½ npm i :

image

Π£ мСня Π±Ρ‹Π»Π° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° 9.5.3-canary.9 Π½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Ρ…Π΅ΡˆΠ΅ΠΌ всС Π΅Ρ‰Π΅ сохраняСтся.

Π― Π½Π΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» ΠΎΠ± этом, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ 9.5.2 ΠΈ ΠΊΠΎΠ³Π΄Π° я ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π½Π° 9.5.3-canary.6 Π² консоли devtools Ρ‚Π°ΠΊΠΆΠ΅ появляСтся ошибка, ΠΊΠΎΠ³Π΄Π° я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ для измСнСния Ρ…Π΅ΡˆΠ°, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅.
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ сущСствуСт Π² 9.5.3-canary.5 .

image

@fabinppk, поТалуйста, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ выпуск с Ρ€Π΅ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠ΅ΠΉ!

ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ исходная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΏΠΎΡ…ΠΎΠΆΠ΅, исправлСна ​​в 9.5.3-canary.9 . Бпасибо @Timer

Бпасибо Π·Π° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ @petewarman!

@ Π’Π°ΠΉΠΌΠ΅Ρ€ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ. Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ исправитС это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΈ Π½Π΅ связаны с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π² devtools.
Бпасибо. : +1:

МоТно ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это всС Π΅Ρ‰Π΅ происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 9.5.6-canary.11 , классы Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ кускам.

@glottonous: всС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹,

Ps: я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ 9.5.5. πŸ‘ŒπŸ‘Œ

@fabinppk Π― ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° всС Π΅Ρ‰Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ с 9.5.6-canary.11 .

@glottonous Π― ΠΏΡ€ΠΎΠ²Π΅Π» нСсколько тСстов Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ с вСрсиСй 9.5.6-canary.11 ΠΈ Ρƒ мСня Π½Π΅ Π±Ρ‹Π»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Если Ρƒ вас Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, сославшись Π½Π° эту. : +1:

Π² nextjs 10 Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

Π’Π΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ 10.0.1

Π― Π½Π°Ρ‡Π°Π» # 19055 с воспроизводимой дСмонстрации.

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