Y si ejecutara eso, por supuesto, eso, vaya, no querría usar la versión compilada. Solo voy a ejecutar Deno y luego haré guión guión, permitir net para permitir el acceso a la red específicamente. Y eso básicamente hará lo mismo. Pero una cosa que notarás de inmediato es que esta importación utiliza la extensión de archivo. Y en Deno, intentamos hacer que el tiempo de ejecución de Deno, ya sabes, sea lo más similar posible al comportamiento del navegador. Los únicos globales, excepto el global de Deno que están en una aplicación de Deno, ya sabes, son globales que tendrías en el navegador. Entonces, ya sabes, fetch y muchos otros globales basados en el navegador están disponibles en Deno. Y la forma en que especificas las importaciones generalmente es mediante la especificación, ya sabes, de una URL completamente calificada. Pero no, en realidad no funciona de la misma manera.
En un proyecto de Node, generalmente importarás, ya sabes, archivos externos sin un especificador. Así que hagamos lo mismo. Crearemos un nuevo archivo llamado, ya sabes, handler.js. Y aquí tendremos que hacer algo ligeramente diferente. Entonces, en Node, si voy a crear un módulo ESM, ya sabes, lo llamaría MJS. Y supongo que, dado que ahora lo estamos ejecutando en Deno, no tengo que hacer eso. Así que lo dejaré con la extensión .js. Y haré algo similar. Voy a, ya sabes, exportar por defecto. Y luego, básicamente, haré que esto sea el mismo controlador que tendríamos aquí. Así que será una función asíncrona de flecha gorda. Así que hará más o menos lo mismo. Y luego aquí puedo decir, ya sabes, importar el controlador desde .slash handler. Pero nuevamente, en un proyecto de Node, probablemente solo diría .slash handler, que es la, ya sabes, que generalmente es la convención en Node. No se usa la, ya sabes, la extensión cuando intentas importar. En realidad, podemos configurar Deno para manejar esto, nuevamente, usando una de esas banderas inestables. Entonces, si vamos a Deno.json, esta se llama, ¿cómo era, David? Es como importaciones descuidadas, con un guion. Así que diremos importaciones descuidadas. Y si habilitamos eso y volvemos a index.js, puedes ver que la línea ondulada roja se ha degradado a una línea ondulada azul porque, ya sabes, no estamos usando la extensión. Pero aparte de los web standards, ¿por qué más, ya sabes, no usamos eso en Deno en general, David? ¿Cuál es el costo de no tener la extensión? Sí. Cuando no tienes la extensión, entonces necesita hacer muchas pruebas.
Comments