Maison  >  Questions et réponses  >  le corps du texte

Méthode Nuxt pour éviter d'importer des scripts côté client lors du rendu côté serveur

Dans mon application nuxt.js, j'ai un script qui importe les packages NPM qui ne sont compatibles qu'avec le contexte du navigateur (il fait référence à documentlocationwindow etc.)

Existe-t-il un moyen de l'exclure de la RSS ?

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

Je peux utiliser la méthode process.client mais le fichier est toujours importé dans mon composant.

P粉518799557P粉518799557289 Il y a quelques jours404

répondre à tous(1)je répondrai

  • P粉426906369

    P粉4269063692024-01-05 00:09:08

    Vous pouvez l'importer dynamiquement au lieu de l'importer dans tous les contextes.

    Comme expliqué dans ma réponse ici : https://stackoverflow.com/a/67825061/8816585

    Dans votre exemple, cela ressemblerait à ceci

    export default showThing(){
      if (process.client) {
        const thing = await import('@vendor/thing')
        thing()
      }
    }
    

    répondre
    0
  • Annulerrépondre