Heim >Web-Frontend >CSS-Tutorial >Warum kann ich globales CSS nicht in Next.js außerhalb von „pages/_app.js' importieren?

Warum kann ich globales CSS nicht in Next.js außerhalb von „pages/_app.js' importieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-11 05:35:16237Durchsuche

Why Can't I Import Global CSS in Next.js Outside of `pages/_app.js`?

„Globales CSS kann nicht aus anderen Dateien als Ihrer benutzerdefinierten importiert werden“: Verständnis und Lösung des Problems

Next.js ist ein beliebtes Framework zum Erstellen von React-Anwendungen, bei dem Leistung und Codestruktur im Vordergrund stehen. Eine seiner Funktionen ist die globale CSS-Funktion, mit der Sie CSS-Dateien importieren können, die global in Ihrer Anwendung verfügbar sind. Bestimmte Einschränkungen und Aktualisierungen können jedoch zu Fehlern bei der Verwendung dieser Funktion führen.

Kürzlich ist bei Benutzern die Fehlermeldung aufgetreten: „Globales CSS kann nicht aus anderen Dateien als Ihrer benutzerdefinierten importiert werden.“ Dieser Fehler weist darauf hin, dass globale CSS-Importe in die Datei „pages/_app.js“ verschoben werden sollten. Für eine erfolgreiche Anwendungsentwicklung ist es entscheidend, den Grund für diesen Fehler zu verstehen und die richtige Lösung anzuwenden.

Grund für den Fehler

Next.js 9.2 führte Änderungen an der globalen Funktionsweise ein CSS wird behandelt. Bisher konnten Sie globales CSS aus jeder Datei in Ihrem Projekt importieren, einschließlich Seiten, Komponenten und Dienstprogrammdateien. Allerdings muss in Next.js 9.2 und höher globales CSS ausschließlich aus der benutzerdefinierten -Datei importiert werden. Komponente, die sich in der Datei „pages/_app.js“ befindet.

Beheben des Problems

Um den Fehler zu beheben, müssen Sie drei einfache Schritte befolgen:

  1. Verwenden Sie den integrierten Next.js-CSS-Loader: Anstatt das Legacy zu verwenden @zeit/next-sass-Paket, wechseln Sie zur Verwendung des integrierten Next.js-CSS-Loaders, indem Sie das „sass“-Paket installieren.
  2. next.config.js entfernen: Sie können entfernen die Datei next.config.js oder stellen Sie sicher, dass sie keine Konfigurationsänderungen im Zusammenhang mit dem Laden von CSS enthält.
  3. Verschieben Sie die globale CSS: Verschieben Sie Ihre main.scss-Importanweisung in die Datei „pages/_app.js“, wie in der Fehlermeldung vorgeschlagen.

Beispiel

Hier ist ein Beispiel einer aktualisierten Datei „pages/_app.js“ mit dem globalen CSS Import:

import '../global-styles/main.scss'

export default function MyApp({ Component, pageProps }) {
  return <Component {...pageProps} />
}

Zusätzliche Informationen

Wenn Sie Stile nur zu einer bestimmten Komponente oder Seite hinzufügen möchten, können Sie die integrierte Unterstützung für CSS-Module nutzen . Um beispielsweise Stile zu einer Button.js-Komponente hinzuzufügen, können Sie eine Sass-Datei mit dem Namen button.module.scss erstellen und sie in die Komponente importieren.

Indem Sie die oben beschriebenen Schritte befolgen, können Sie das Problem effektiv beheben „Globales CSS kann nicht aus anderen Dateien als Ihrer benutzerdefinierten importiert werden.“ Fehler und stellen Sie sicher, dass das globale CSS Ihrer Next.js-Anwendung korrekt verarbeitet wird.

Das obige ist der detaillierte Inhalt vonWarum kann ich globales CSS nicht in Next.js außerhalb von „pages/_app.js' importieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn