es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error: No se pudo encontrar el archivo “fs” dentro del proyecto mientras se usa “dotenv” en el proyecto de Expo.

Estoy trabajando en una aplicación de expo. Quiero usar variables de entorno, así que instalé el paquete dotenv.
Cuando agrego require(‘dotenv’).config() en mi archivo App.js, obtengo este error.

undefined No se puede resolver el módulo fs desde C:\Users\RohitMaurya\Music\kaamkaro\frontend\GoalrApp\node_modules\dotenv\lib\main.js: no se pudo encontrar fs dentro del proyecto.

Si estás seguro de que el módulo existe, prueba estos pasos:
 1. Borrar las vigilancias de watchman: watchman watch-del-all
 2. Eliminar node_modules y ejecutar yarn install
 3. Restablecer la caché de Metro: yarn start --reset-cache
 4. Eliminar la caché: rm -rf /tmp/metro-*
  22 | */
  23 |
> 24 | const fs = require('fs')
     |                     ^
  25 | const path = require('path')
  26 | const os = require('os')
  27 |
en node_modules\react-native\Libraries\Utilities\HMRClient.js:320:31 en showCompileError
en node_modules\react-native\Libraries\Utilities\HMRClient.js:227:26 en client.on$argument1
en node_modules\eventemitter3\index.js:181:21 en emit
en node_modules\metro\src\lib\bundle-modules\HMRClient.js:142:10 en ws.onmessage
en node_modules\event-target-shim\dist\event-target-shim.js:818:20 en EventTarget.prototype.dispatchEvent
en node_modules\react-native\Libraries\WebSocket\WebSocket.js:231:8 en _eventEmitter.addListener$argument1<br>
en node_modules\react-native\Libraries\vendor\emitter\EventEmitter.js:189:10 en emit
en node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:416:4 en _callFunction
en node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:109:6 en _guard$argument0
en node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:364:10 en _guard
en node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:108:4 en callFunctionReturnFlushedQueue<br>
en [código nativo]:null en callFunctionReturnFlushedQueue

No se puede resolver el módulo fs desde C:\Users\RohitMaurya\Music\kaamkaro\frontend\GoalrApp\node_modules\dotenv\lib\main.js: no se pudo encontrar fs dentro del proyecto.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que el módulo fs no se pudo encontrar en el proyecto. Esto se debe a que el módulo fs es un módulo principal de Node.js y no funciona en el entorno del navegador, como la aplicación Expo. Por lo tanto, no puedes usar el paquete dotenv directamente en tu aplicación Expo.

    Sin embargo, aún puedes usar variables de entorno en tu aplicación Expo siguiendo estos pasos:

    1. Crea un archivo llamado .env en el directorio raíz de tu proyecto.
    2. Agrega variables de entorno en el archivo .env con el siguiente formato:

    NOMBRE_VARIABLE=valor_variable
    
    1. En tu archivo App.js, define las variables de entorno utilizando la siguiente sintaxis:
    const { NOMBRE_VARIABLE } = process.env;
    
    1. Usa las variables de entorno en tu código según sea necesario.

    Ten en cuenta que el uso de variables de entorno en una aplicación Expo no requiere instalar el paquete dotenv ni llamar al método require('dotenv').config().

Comments are closed.