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.

¿Cómo usar un archivo js desde fuera del directorio de create-react-app, con craco?

Estoy utilizando craco para mi create-react-app y estoy tratando de importar un archivo de javascript desde otro directorio, externo a la carpeta src de la aplicación.

He escuchado que es posible, pero no he encontrado nada en su documentación al respecto, al menos no de lo que he visto.

Mi aplicación está construida utilizando la versión 17.0.2 de React, por si eso ayuda.

¿Alguna idea de cómo lograr esto?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para importar un archivo JavaScript desde otro directorio fuera de la carpeta src en un proyecto de create-react-app con craco, puedes usar el paquete craco-alias.

    Aquí están los pasos a seguir:

    1. Instale el paquete craco-alias ejecutando el siguiente comando en su terminal:
    npm install craco-alias --save-dev
    
    1. Cree un archivo jsconfig.json en el directorio raíz de su proyecto con el siguiente contenido:
    {
      "compilerOptions": {
        "baseUrl": "./src",
        "paths": {
          "@external/*": ["../ruta/hacia/el/directorio/externo/*"]
        }
      }
    }
    
    1. En su archivo craco.config.js, agregue el siguiente código antes de exportar el objeto de configuración:
    const CracoAlias = require("craco-alias")
    
    module.exports = {
      // ...
      plugins: [
        {
          plugin: CracoAlias,
          options: {
            source: "jsconfig",
            baseUrl: "./src",
            aliases: {
              // aliases para imports
              "@external": "../ruta/hacia/el/directorio/externo",
            },
          },
        },
      ],
      // ...
    }
    
    1. Ahora puede importar su archivo JavaScript desde el directorio externo usando el alias, por ejemplo:
    import myExternalFile from '@external/myExternalFile.js';
    

    Tenga en cuenta que el alias @external en este ejemplo se refiere a la ruta del directorio especificada en el archivo jsconfig.json. Puede cambiar el alias a cualquier otro nombre que prefiera.

    Además, asegúrese de reemplazar ../ruta/hacia/el/directorio/externo con la ruta deseada al directorio que contiene el archivo JavaScript que desea importar.

    ¡Espero que esto ayude!

Comments are closed.