Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
3
respuestas

como utilizar la importación dentro de una función IIFE

Buenos días. en el video del curso se deshabilito la función IIEF para que funcionara la importanción de modulos

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Sin embargo intente hacer los mismo habilitando nuevamente la función IIFE y me genera la siguiente advertencia

Una declaración de importación solo se puede usar en el nivel superior de un módulo.ts(1473)

Como se puede hacer para importar modulos dentro de una función IIFE?

Gracias

3 respuestas

¡Hola Estudiante!

La razón por la que no puedes utilizar la importación dentro de una función IIFE es porque la importación solo se puede utilizar en el nivel superior de un módulo. Sin embargo, puedes utilizar la función require() para importar módulos dentro de una función IIFE.

Por ejemplo, si quieres importar el módulo módulo1 dentro de una función IIFE, puedes hacerlo de la siguiente manera:

(function() {
  const modulo1 = require('ruta/al/modulo1');
  // código de la función IIFE
})();

Ten en cuenta que esto solo funciona si estás utilizando CommonJS como sistema de módulos. Si estás utilizando ES6, deberás utilizar la sintaxis de importación en el nivel superior del módulo.

¡Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios! :)

Hola! Rafaela, no sé sí estaré usando bien el require, pero no me funciona tampoco.

( () => {

const btn = document.querySelector('[data-form-btn]');

const createTask = ((evento) => { // el => es una función anonima evento.preventDefault(); const checkComplete = require('./components/checkComplete.js'); const deleteIcon = require('./components/deleteIcon.js'); const input = document.querySelector('[data-form-input]'); const value = input.value; const list = document.querySelector('[data-list]'); const task = document.createElement('li'); // aquí creo un Li con create element task.classList.add("card"); // agrega una clase de css a task input.value = ""; // hace que el input quede vacio cuando se agregan tareas const taskContent = document.createElement('div'); taskContent.appendChild(checkComplete()); // está agregando al div padre la etiqueta i const titleTask = document.createElement('span'); titleTask.classList.add("task"); titleTask.innerText = value; taskContent.appendChild(titleTask);

//task.innerHTML = content; // agrega lo del content a la propiedad del task task.appendChild(taskContent); task.appendChild(deleteIcon()); list.appendChild(task); // el padre es la lista, agrega el hijo (task) al padre (la lista)

});

btn.addEventListener("click", createTask );

}) ();

Buenos días Irving: una posibilidad asumo, es la ruta... que dice la consola, genera algun error asociado al modulo?

Gracias

Gio