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.

No se puede acceder a las rutas de tsconfig en el proyecto.

Estoy tratando de incluir una ruta en un archivo ts, he intentado muchas soluciones disponibles en Stackoverflow, pero ninguna funciona para mí.

tsconfig.json

{
  "compilerOptions": {
    "strict": true,
    "baseUrl": "./app",
    "paths": {
      "@redux/*": ["redux/*"]
    },
    "include": [
      "./app/redux/**/*", "**/*.ts", "**/*.tsx"
    ],
  },
  "extends": "expo/tsconfig.base"
}

tsconfig.base.json

{
  "$schema": "https://json.schemastore.org/tsconfig",
  "display": "Expo",

  "compilerOptions": {
    "allowJs": true,
    "esModuleInterop": true,
    "jsx": "react-native",
    "lib": ["DOM", "ESNext"],
    "moduleResolution": "node",
    "noEmit": true,
    "resolveJsonModule": true,
    "skipLibCheck": true,
    "target": "ESNext"
  },

  "exclude": ["node_modules", "babel.config.js", "metro.config.js", "jest.config.js"]
}

Intentando importar en app.tsx

import {} from '@redux/store'; // error: No se puede encontrar el módulo '@redux/store' o sus declaraciones de tipo correspondientes.

Por favor, sugiere una solución (usándola en una aplicación de React).
También he intentado para otras rutas como componentes.

Estructura:
/app/components
/app/redux/store.tsx

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando usar una ruta de inclusión en tu proyecto TypeScript, pero estás teniendo problemas al importar módulos desde esa ruta.

    Según tu archivo tsconfig.json, parece que has configurado un baseUrl de “./app” y una ruta de inclusión de “./app/redux/**/“. También has configurado un alias de rutas para “@redux/” que apunta a “redux/*”.

    En tu archivo app.tsx, estás intentando importar desde “@redux/store”, pero estás obteniendo un error que dice que no se puede encontrar el módulo.

    Una posible solución es modificar el alias de rutas para que use la ruta completa desde el baseUrl. Por ejemplo:

    {
      "compilerOptions": {
        "strict": true,
        "baseUrl": "./app",
        "paths": {
          "@redux/*": ["./redux/*"]
        },
        "include": ["./app/**/*"]
      },
      "extends": "expo/tsconfig.base"
    }
    

    Con esta configuración, deberías poder importar el módulo de la siguiente manera:

    import {} from '@redux/store';
    

    Si esta solución no funciona para ti, puede ser útil proporcionar más información sobre la estructura de archivos de tu proyecto y cualquier otra configuración relevante.

Comments are closed.