Maison > interface Web > js tutoriel > le corps du texte

Correction de l'erreur vite pour reactjs - global n'est pas défini et le processus n'est pas défini

DDD
Libérer: 2024-09-19 00:57:32
original
242 Les gens l'ont consulté

Fixing vite error for reactjs - global is not defined and process is not defined

Dans un scénario où vous exécutez une application vite avec le modèle Reactjs pour un projet et essayez de récupérer la variable d'environnement à partir du fichier .env. Comme le moyen le plus courant de récupérer les variables d'environnement à partir de .env est d'utiliser process.env.SOMETHING pour la variable comme :

SOMETHING=SECRETSAUCE
Copier après la connexion

À ce stade, le vite.config.ts ressemblerait à :

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
})

Copier après la connexion

Mais la récupération de variables ne fonctionne pas immédiatement en vite, et il existe de nombreuses façons de résoudre le problème. J'ai essayé la plupart d'entre eux et j'ai senti que je devais m'en tenir à la méthode simple et directe.

Probablement avec la définition ci-dessus et la logique de récupération par défaut avec process.env.*, vous auriez obtenu l'erreur Uncaught ReferenceError : global n'est pas défini.

Je trouve beaucoup de références dans stackoverflow et je suis confus.

Le correctif de l'erreur consiste à définir global dans la configuration comme ci-dessous.

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  define: {
    global: {},
  },
})

Copier après la connexion

Maintenant, cela conduirait probablement à une autre erreur plus courante Uncaught ReferenceError : le processus n'est pas défini.

Encore une fois, il existe de nombreuses solutions sur le web et certaines sont obsolètes. Je trouve que le plus pertinent et le plus facile à mettre en œuvre est d'importer loadEnv à partir de la bibliothèque vite et de créer la logique personnalisée comme ci-dessous.

import { defineConfig, loadEnv } from 'vite'
import react from '@vitejs/plugin-react'

// https://vitejs.dev/config/
export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd(), '');
  return {
    define: {
      global: {},
      'process.env': env
    },
    plugins: [react()],
  }
})

Copier après la connexion

Et la magie opère tout de suite !!

Il faut également mentionner que nous n'avons pas besoin d'utiliser la dépendance dotenv car la récupération des variables d'environnement dans le code avec process.env.* fonctionne bien sans elle.

Bon codage !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal