Nuxt-Methode, um den Import clientseitiger Skripte beim Rendern auf der Serverseite zu vermeiden
P粉518799557
P粉518799557 2024-01-04 09:57:53
0
1
432

In meiner nuxt.js-Anwendung habe ich ein Skript, das NPM-Pakete importiert, die nur mit dem Browserkontext kompatibel sind (es verweist auf documentlocationwindow usw.)

Gibt es eine Möglichkeit, es von SSR auszuschließen?

import thing from "@vendor/thing"; // causes `document not defined` error
export default showThing(){
 if (process.client) {
    thing();
 }
}

Ich kann die process.client-Methode verwenden, aber die Datei wird trotzdem in meine Komponente importiert.

P粉518799557
P粉518799557

Antworte allen(1)
P粉426906369

您可以动态导入它,而不是在每个上下文中导入它。

正如我在这里的回答所解释的:https://stackoverflow.com/a/67825061/8816585

在你的例子中,会是这样的

export default showThing(){
  if (process.client) {
    const thing = await import('@vendor/thing')
    thing()
  }
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage