Entonces, Deno también tiene una biblioteca estándar. Estos serán módulos de JavaScript y TypeScript construidos y mantenidos por el equipo principal. Son auditados y garantizados para no estar obsoletos, no ser malware, estar mantenidos y en general, auditados para asegurarse de que funcionen bien con Deno.
Diría que estos son similares a los módulos principales de Node.js en el lado de Node, como FS, HTTP, etc. La única diferencia es que estos están fuera del repositorio principal, por lo que se pueden versionar de forma independiente, lanzar de forma independiente, aunque actualmente se lanzan cuando se lanza el tiempo de ejecución principal.
Hay muchos módulos diferentes, cosas como FS, HTTP streams, cosas que estarías acostumbrado a tener en Node, UUIDs, WASI, muchas otras cosas. Realmente no hay un gestor de paquetes para Deno, pero estos módulos están alojados en Internet, por lo que si vas a esta deno.land.std, obtendrás la última versión de la biblioteca estándar, y luego también puedes versionar estos, lo cual se recomienda como se muestra en el ejemplo en la parte inferior aquí. Entonces, si quisiera importar la función de copia de la biblioteca FS, este es un ejemplo de cómo lo haría, asegurándome también de obtener la versión 0.141.0, por lo que si hay un cambio incompatible o cualquier otra cosa a medida que la biblioteca evoluciona, te garantiza obtener una versión que sabes que funciona con tu código.
Hablando de la gestión general de dependencias, funciona de manera similar a un navegador. No hay NPM. Solo admitimos ESM, no hay soporte para CommonJS. Hay CDNs como ESM.sh donde puedes cargar módulos CommonJS y se transpilarán para que puedas importarlos desde allí. No vas a tener un archivo package.json, no va a haber un directorio node modules, no hay archivo index.js. Entonces, cuando haces un require, debes especificar el nombre del archivo y no el tipo de comportamiento mágico del índice.
Entonces, si alguna vez has usado algo como Rust, siento que Deno es algo similar en el hecho de que, cuando ejecutas tu código, realmente buscará el código. Lo almacenará en caché localmente para que no tengas que seguir instalándolo. Incluso puedes hacer algo de trabajo desde un avión si es necesario. Y lo compilará automáticamente por ti. Entonces, especialmente si estás descargando TypeScript, debe ser transpilado y demás. Pero Deno hace todas estas cosas por ti detrás de escena. Y para aplicaciones de producción, recomendamos que uses un comando llamado deno-vendor, que básicamente descargará todas tus dependencias localmente. Y luego puedes agregarlas al control de origen o administrarlas como quieras en lugar de intentar instalar cosas en el momento de implementación en producción. Y como dije, no hay NPM, pero hay alojamiento de paquetes en un sitio llamado deno.land slash x. Aquí todavía estoy mostrando el ejemplo de la diapositiva anterior. Pero si reemplazas esa parte std de la URL con x, estarías usando, supongo, el equivalente de Deno de NPM. Y también hay una interfaz web. Entonces puedes navegar allí y ver todos los diferentes módulos de terceros que las personas han creado y subido. Hay un calendario de lanzamiento. Las versiones de parches se lanzan semanalmente. Las versiones menores de semver se lanzan mensualmente.
Comments