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.

Cargando el contenido de un archivo JSON con RequireJS

Estoy intentando cargar un archivo JSON simple en una variable y me estoy encontrando con obstáculos.

Aquí está el código que utilizo:

<html> 
  <head> 
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
    <title>Prueba de Require</title> 
    <script charset="utf-8" src="require.js"></script>
  </head> 
  <body> 
    <script type="text/javascript"> 
      root = require('./data_test_v2.json');
      console.log(root);
    </script> 
  </body> 
</html>

Y este es el error que obtengo:

Uncaught Error: El nombre de módulo "data_test_v2.json" aún no se ha cargado para el contexto: _. Utilice require([])
https://requirejs.org/docs/errors.html#notloaded

El archivo require.js es la última versión de RequireJS (de `https://requirejs.org/docs/release/2.3.6/comments/require.js`).

Parece un problema muy básico… cualquier ayuda es bienvenida.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás tratando de cargar un archivo JSON usando RequireJS, pero te encuentras con un error. Según el mensaje de error, debes usar require([]) en lugar de require() para cargar un archivo JSON como un módulo.

    Aquí tienes una versión actualizada de tu código que debería cargar el archivo JSON correctamente:

    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <title>Prueba de Require</title>
        <script charset="utf-8" src="require.js"></script>
      </head>
      <body>
        <script type="text/javascript">
          require(['./data_test_v2.json'], function(root) {
            console.log(root);
          });
        </script>
      </body>
    </html>
    

    En este código actualizado, usamos require(['./data_test_v2.json'], function(root) {...}) para cargar el archivo JSON como un módulo, y pasamos una función de devolución de llamada que se ejecutará una vez que se haya cargado el módulo. Los datos JSON cargados se pasarán a la función de devolución de llamada como un parámetro llamado root.

    ¡Espero que esto te ayude! Hazme saber si tienes alguna pregunta adicional.

Comments are closed.