Importación global
Clase 11 de 19 • Curso de Vite.js
Contenido del curso
Clase 11 de 19 • Curso de Vite.js
Contenido del curso
Max Andy Diaz Neyra
Aldo Said Salas Rodríguez
Christian Rafael Rafael Guado Geronimo
Diana Martinez
Christian Rafael Rafael Guado Geronimo
Santiago Andres Alvarez Cuadros
Christian David Osorio Chacón
Bulmaro Arellano Navarrete
Carmine Maggio
Fidel Parabacuto
George M
Diana Martinez
milton coronado
Diana Martinez
Diego Reyes Cabrera
Diana Martinez
Henry Alexander Velásquez Rosas
Oscar Alvarado
Aqui el ejemplo de la clase trabajado con async await :
const modules = import.meta.glob('./modules/*.js'); for(const path in modules){ async function fetchModule(){ const module = await modules[path](); module.load(); } fetchModule(); // modules[path]().then((module)=>{ // module.load(); // }) } console.info(modules);
Y gracias a los top-level await podemos hacerlo de la siguiente forma:
const modules = import.meta.glob('./modules/*.js') for (const path in modules) { const module = await modules[path]() module.load() }
Alguien me podria explicar porque cuando pongo el asterisco en el siguiente codigo:
const modules = import.meta.glob("./modules/*.js")
el resto del codigo se vuelve gris?
Puede ser un error con el linter de VS Code, no me pasa, pero podrías revisar que estén bien las comillas y todo.
Ya descubri el error, solo tenia que desinstalar la extension Babel javascript de VSCode.
Si observamos el código JS que Vite nos arroja en el navegador cuando ejecutamos el servidor de desarrollo, podemos ver que:
const modules = import.meta.glob('../modules/*.ts');
Sería como hacer en JS:
const modules = Object.assign({ "../modules/module1.ts": ()=>import("/modules/module1.ts"), "../modules/module2.ts": ()=>import("/modules/module2.ts") });
Esto me permitió entender mucho mejor qué es lo que está pasando porque la verdad nunca había visto ni trabajado con dynamic imports, y puede que a alguien más también le ayude a entender mejor.
.
En resumen, Vite está creando importaciones dinámicas de todos los archivos que le especificamos como argumento de glob(), creando un objeto module cuyos keys son iguales a un import estático y los values son iguales al key pero en un import dinámico.
Hola! alguien sabe cuál es la mejor manera de importar jquery en un proyecto de vite?
Hola Cristian,
jQuery es pasado, no deberías ni pensar en él, ¿Como para qué? Es mi opinión, aunque me gustaría saber si algún compañero sabe o tiene una mejor respuesta. Saludos
Instálalo como un paquete y lo importas como cualquier otro
Está bueno porque podemos importar archivos de forma masiva utilizando JS, para no tener que importar cada elemento por separado
y da lo mismo que en el export de los módulos ambos se llamen igual?
Pues, si no vas a ocupar el nombre y no va a haber conflictos, adelante, recuerda que al final esto es JavaScript y aplican las mismas reglas.
hay alguna otra forma de llamar a los archivos /*.js ya que la barra mas el asterisco hace que el codigo se convierta en comentario
 { const fn = async () => { const mod = await modules[path](); mod.load(); }; fn(); }