Autor(es) original(es) | Ryan Dahl |
---|---|
Desarrollador(es) | Deno Land Inc [1] y colaboradores |
Lanzamiento inicial | 13 de mayo de 2018 ( 13-05-2018 ) | [2]
Versión estable | 2.0.2 [3] / 18 de octubre de 2024 (18 October 2024) |
Repositorio | github.com/denoland/deno |
Escrito en | TypeScript , JavaScript , Rust , C++ (enlaces V8) |
Sistema operativo | Linux , macOS , Microsoft Windows |
Tipo | Entorno de ejecución |
Licencia | Licencia MIT [4] |
Sitio web | deno.com |
Deno ( / d iː n oʊ / [5] ) es un entorno de ejecución para JavaScript , TypeScript y WebAssembly que se basa en el motor JavaScript V8 y el lenguaje de programación Rust . Deno fue co-creado por Ryan Dahl , quien también creó Node.js . [6]
Deno asume explícitamente el rol tanto de entorno de ejecución como de administrador de paquetes dentro de un único ejecutable , en lugar de requerir un programa de administración de paquetes separado . [5] [7]
Deno fue anunciado en JSConf EU 2018 por Ryan Dahl en su charla "10 cosas de las que me arrepiento acerca de Node.js". [8] En su charla, Dahl mencionó sus arrepentimientos acerca de las decisiones iniciales de diseño con Node.js, centrándose en sus elecciones de no usar promesas en el diseño de API , el uso del sistema de compilación heredado GYP , node_modules y package.json, la omisión de extensiones de archivo , la resolución mágica de módulos con index.js y la ruptura del entorno sandbox de V8. [9] Finalmente presentó el prototipo de Deno, con el objetivo de lograr enlaces de llamadas del sistema a través del paso de mensajes con herramientas de serialización como Protocol Buffers , y proporcionar indicadores de línea de comandos para el control de acceso .
Deno fue escrito inicialmente en Go y utilizó Protocol Buffers para la serialización entre los lados privilegiado (Go, con acceso a llamadas del sistema) y no privilegiado (V8). [10] Sin embargo, Go fue reemplazado pronto por Rust debido a preocupaciones por el doble tiempo de ejecución y la presión de recolección de basura . [11] Tokio se introdujo en lugar de libuv como la plataforma asincrónica impulsada por eventos, [12] y FlatBuffers se adoptó para una serialización y deserialización más rápidas y de "copia cero" [13] pero más tarde, en agosto de 2019, FlatBuffers se eliminó [14] después de publicar puntos de referencia que midieron una sobrecarga significativa de serialización en abril de 2019. [15]
En noviembre de 2018 se creó una biblioteca estándar, inspirada en la biblioteca estándar de Go, para proporcionar herramientas y utilidades exhaustivas, solucionando parcialmente el problema de explosión del árbol de dependencias de Node.js. [16]
La versión oficial Deno 1.0 se lanzó el 13 de mayo de 2020. [17]
Deno Deploy, inspirado en Cloudflare Workers, [18] se lanzó el 23 de junio de 2021. [19] Anunciado el 4 de mayo de 2022 La versión Beta 4 mejoró el panel de control y agregó funcionalidad de facturación. [20]
Deno Fresh 1.0 se anunció el 28 de junio de 2022. [21] Cuenta con un nuevo marco web de pila completa para Deno que, de forma predeterminada, no envía ningún código JavaScript al cliente. El marco no tiene ningún paso de compilación, lo que permite mejoras de un orden de magnitud en los tiempos de implementación. La versión 1.1 se lanzó el 8 de septiembre de 2022. [22]
La versión beta de Deno SaaSKit se anunció el 4 de abril de 2023. [23] Es una plantilla SaaS moderna de código abierto creada con Fresh y Deno.
Deno 2 se lanzó el 9 de octubre de 2024. [24] Principalmente aporta mejoras de compatibilidad con Node.js y elimina funciones obsoletas.
Deno tiene como objetivo ser un entorno de scripting seguro y productivo para el programador moderno. [5] De manera similar a Node.js, Deno enfatiza la arquitectura basada en eventos , proporcionando un conjunto de utilidades de E/S centrales sin bloqueo , junto con sus versiones de bloqueo. Deno podría usarse para crear servidores web , realizar cálculos científicos, etc. Deno es un software de código abierto bajo la licencia MIT . [25]
Deno y Node.js son entornos de ejecución basados en el motor de JavaScript V8 desarrollado por el Proyecto Chromium, el motor utilizado para los navegadores web Chromium y Google Chrome . Ambos tienen bucles de eventos internos y proporcionan interfaces de línea de comandos para ejecutar scripts y una amplia gama de utilidades del sistema.
Deno se diferencia de Node.js principalmente en los siguientes aspectos: [5]
npm:
y node:
para importar módulos Node.JS NPM o polyfill. Node.js admite tanto URL [28] como módulos.El 29 de marzo de 2021, se anunció la creación de Deno Land Inc., con el respaldo de millones de dólares de Shasta Ventures , Mozilla Corporation y algunos otros. Se creó para promover el desarrollo de Deno y brindar una oferta comercial a los usuarios. [1]
Un año después, Deno anunció una financiación adicional de Serie A de 21 millones de dólares liderada por Sequoia Capital . [32]
Las tablas a continuación se crearon utilizando la página oficial de lanzamientos. [33]
Versión | Último lanzamiento del parche | Fecha de lanzamiento | Fecha del último lanzamiento del parche | Descripción |
---|---|---|---|---|
Old version, no longer maintained:0.1.0 | Old version, no longer maintained:0.1.12 | 23 de agosto de 2018 | 12 de noviembre de 2018 | Reescritura de Rust y captura de pantalla de V8 |
Old version, no longer maintained:0.2.0 | Old version, no longer maintained:0.2.11 | 27 de noviembre de 2018 | 08-02-2019 | Ligeramente utilizable |
Old version, no longer maintained:0.3.0 | Old version, no longer maintained:0.3.10 | 18 de febrero de 2019 | 25 de abril de 2019 | En lugar de importar un módulo "deno", ahora hay una variable global llamada "Deno" |
Old version, no longer maintained:1.0.0 | Old version, no longer maintained:1.0.5 | 13 de mayo de 2020 | 03-06-2020 | Versión de producción inicial con CLI, compatibilidad con TypeScript de primera clase, API de Rust y mejoras en el rendimiento del servidor HTTP |
Old version, no longer maintained:1.1.0 | Old version, no longer maintained:1.1.3 | 12 de junio de 2020 | 03-07-2020 | Varias adiciones y correcciones a la CLI, Rust 1.44.0 |
Old version, no longer maintained:1.2.0 | Old version, no longer maintained:1.2.3 | 13 de julio de 2020 | 08-08-2020 | Varias adiciones y correcciones a la CLI |
Old version, no longer maintained:1.3.0 | Old version, no longer maintained:1.3.3 | 13 de agosto de 2020 | 04-09-2020 | Varias adiciones y correcciones a la CLI, varias mejoras al lenguaje Deno, TypeScript 3.9.7 |
Old version, no longer maintained:1.4.0 | Old version, no longer maintained:1.4.6 | 13 de septiembre de 2020 | 10 de octubre de 2020 | Nueva API de WebSocket estándar, reinicios automáticos al cambiar archivos, cobertura de pruebas integrada |
Old version, no longer maintained:1.5.0 | Old version, no longer maintained:1.5.4 | 27 de octubre de 2020 | 23 de noviembre de 2020 | Agrupamiento y agitación de árboles más rápidos, REPL refactorizado |
Old version, no longer maintained:1.6.0 | Old version, no longer maintained:1.6.3 | 08-12-2020 | 30 de diciembre de 2020 | Compilar binarios independientes a través de "deno compile", compatibilidad con TypeScript 4.1, compatibilidad experimental con Mac ARM64 |
Old version, no longer maintained:1.7.0 | Old version, no longer maintained:1.7.5 | 5 de febrero de 2021 | 19-02-2021 | Compilación cruzada y binarios un 60 % más pequeños para la compilación deno, una API de resolución de DNS, compatibilidad con URL de datos en declaraciones de importación y trabajadores web |
Old version, no longer maintained:1.8.0 | Old version, no longer maintained:1.8.3 | 02-03-2021 | 02-04-2021 | Soporte experimental para API WebGPU, API de internacionalización integradas habilitadas, soporte para obtener módulos privados, herramientas de cobertura renovadas, soporte para TypeScript 4.2 |
Old version, no longer maintained:1.9.0 | Old version, no longer maintained:1.9.2 | 13 de abril de 2021 | 23 de abril de 2021 | Servidor web nativo HTTP/2, llamadas más rápidas a Rust con serde_v8, compatibilidad con URL de blob y mejoras en la API de búsqueda, finalizaciones de importación en LSP, solicitud de permiso interactiva |
Old version, no longer maintained:1.10.0 | Old version, no longer maintained:1.10.2 | 11-05-2021 | 17-05-2021 | Mejoras en el ejecutor de pruebas integrado, compatibilidad con Web Workers, API de almacenamiento web, compatibilidad con mapas de importación remotastructuredClone() |
Old version, no longer maintained:1.11.0 | Old version, no longer maintained:1.11.3 | 08-06-2021 | 29 de junio de 2021 | Imágenes oficiales de Docker, más API de cifrado web agregadas, BroadcastChannel, búsqueda abortable, deno lint estabilizado |
Old version, no longer maintained:1.12.0 | Old version, no longer maintained:1.12.2 | 13 de julio de 2021 | 26 de julio de 2021 | Soporte para generateKey firmar y verificar API de criptografía web, soporte nativo de servidor WebSocket, soporte de TypeScript en REPL, soporte para MessagePort yMessageChannel |
Old version, no longer maintained:1.13.0 | Old version, no longer maintained:1.13.2 | 10 de agosto de 2021 | 23 de agosto de 2021 | Estabilización del servidor web HTTP nativo, soporte para , soporte, soporte para CODEN avigator.hardwareConcurrency, API de javascript, API experimental, FFI reemplaza el sistema de complementos nativosself.structuredClone() AbortSignal WebSocketStream |
Old version, no longer maintained:1.14.0 | Old version, no longer maintained:1.14.3 | 14 de septiembre de 2021 | 4 de octubre de 2021 | URLPattern , API de bloqueo de archivos, compatibilidad mutua con TLS en la búsqueda, TypeScript 4.4, análisis de URL y mejoras en el rendimiento de std/http |
Old version, no longer maintained:1.15.0 | Old version, no longer maintained:1.15.3 | 12 de octubre de 2021 | 25 de octubre de 2021 | Nuevas API de cifrado, subcomando de desinstalación deno, API de prueba anidada, mejoras de FFI, nueva bandera—compat para una mejor compatibilidad con Node |
Old version, no longer maintained:1.16.0 | Old version, no longer maintained:1.16.4 | 09-11-2021 | 03-12-2021 | Obtener soporte para URL de archivos, nueva API de escucha de señales inestables, soporte para especificar un motivo al abortar un AbortSignal , mejoras en la API de Web Streams, métodos de matriz findLast y findLastIndex, herramienta de compilación de paquetes Deno a npm |
Old version, no longer maintained:1.17.0 | Old version, no longer maintained:1.17.3 | 16 de diciembre de 2021 | 12 de enero de 2022 | Afirmaciones de importación y módulos JSON, mejoras en la API de criptografía web, temporizadores unref, soporte inestable para negociar ALPN, TypeScript 4.5 |
Old version, no longer maintained:1.18.0 | Old version, no longer maintained:1.18.0 | 20 de enero de 2022 | 20 de enero de 2022 | Detección automática de la configuración, finalización de la API de criptografía web, estabilización de la API de pasos de prueba, mejoras de FFI, mejoras de LSP |
Old version, no longer maintained:1.19.0 | Old version, no longer maintained:1.19.3 | 17 de febrero de 2022 | 10-03-2022 | Nueva dependencia del proveedor Deno, solicitud de permiso predeterminada, nuevos flujos web para archivos, sockets de red y stdio, compatibilidad con CompressionStream y DecompressionStream, mejores errores para operaciones y sanitizadores de recursos, registro de consola mejorado |
Old version, no longer maintained:1.20.1 | Old version, no longer maintained:1.20.6 | 14 de abril de 2022 | 16 de marzo de 2022 | Llamadas más rápidas a Rust, compresión automática para cuerpos de respuesta HTTP, nuevos subcomandos (deno bench, deno task), mejoras de seguridad, valores predeterminados más estrictos en permisos programáticos, TypeScript 4.6, V8 10.0 |
Old version, no longer maintained:1.21.0 | Old version, no longer maintained:1.21.3 | 20 de abril de 2022 | 12 de mayo de 2022 | Varias mejoras en el lenguaje Deno, la extensión VSCode y REPL. Mejoras en Deno Test |
Old version, no longer maintained:1.22.0 | Old version, no longer maintained:1.22.3 | 18-05-2022 | 09-06-2022 | Comportamiento de verificación de tipo predeterminado actualizado, varias mejoras en el lenguaje Deno, actualizaciones en el ejecutor de pruebas |
Old version, no longer maintained:1.23.0 | Old version, no longer maintained:1.23.4 | 15 de junio de 2022 | 12 de julio de 2022 | Sin verificación de tipos por defecto, varias mejoras en el lenguaje Deno, fuerza una nueva línea en REPL, TypeScript 4.7 |
Old version, no longer maintained:1.24.0 | Old version, no longer maintained:1.24.3 | 20 de julio de 2022 | 11 de agosto de 2022 | Mejoras en el rendimiento de emisión y verificación de tipos, varias mejoras en el lenguaje Deno, mejoras en Deno Test, actualizaciones de la nueva API de subprocesos, mejoras en LSP, incorporación del módulo semver |
Old version, no longer maintained:1.25.0 | Old version, no longer maintained:1.25.4 | 24 de agosto de 2022 | 22 de septiembre de 2022 | Subcomando deno init, soporte experimental para npm, nueva API de servidor HTTP, mejoras en el tiempo de inicio, mejoras en la API de FFI |
Old version, no longer maintained:1.26.0 | Old version, no longer maintained:1.26.2 | 29/09/2022 | 17 de octubre de 2022 | API web de caché, WebCrypto Secure Curves, indicador de permiso --allow-sys, mejoras en la compatibilidad con npm y Node.JS, mejoras en la API, interfaz de usuario de descarga de módulos mejorada, mejora de la experiencia del desarrollador, TypeScript 4.8Deno.serve() |
Old version, no longer maintained:1.27.0 | Old version, no longer maintained:1.27.2 | 27 de octubre de 2022 | 08/11/2022 | Mejoras importantes en el IDE, mejoras en la compatibilidad con npm, API web navigator.language, mejoras en la tarea deno, comprobador de actualizaciones, cambios en las API de Deno, actualizaciones de deno lint, V8 10.8, mejoras en la compatibilidad con Node.js, cambios en las API de la biblioteca estándar |
Old version, no longer maintained:1.28.0 | Old version, no longer maintained:1.28.3 | 13 de noviembre de 2022 | 1 de diciembre de 2022 | Varias correcciones y estabilizaciones de funciones, importador de paquetes NPM, descubrimiento automático del archivo de bloqueo, V8 10.9 |
Old version, no longer maintained:1.29.0 | Old version, no longer maintained:1.29.4 | 14 de diciembre de 2022 | 16 de enero de 2023 | Mejoras de compatibilidad con npm, cambios en REPL, mejoras en la calidad de vida, cambios en la API de Deno, TypeScript 4.9, actualizaciones de la biblioteca estándar |
Old version, no longer maintained:1.30.0 | Old version, no longer maintained:1.30.3 | 26 de enero de 2023 | 07-02-2023 | Soporte para módulos Node.js integrados ( ), deno.json se convierte en un mapa de importación, deno fmt admite la configuración de punto y comaimport "node:fs" |
Old version, no longer maintained:1.31.0 | Old version, no longer maintained:1.31.1 | 24 de febrero de 2023 | 25 de febrero de 2023 | Soporte para package.json, Estabilización de Node-API, Capa de compatibilidad de Node para NodeJS trasladada al entorno de ejecución de Deno, Estabilizaciones en la API de Deno, Cambio al tipo de puntero en la API de FFI |
Old version, no longer maintained:1.32.0 | Old version, no longer maintained:1.32.5 | 23-03-2023 | 18 de abril de 2023 | Compatibilidad mejorada con Node.js, compatibilidad con la compilación de Deno para trabajadores web e importación dinámica, cambios en las API de Deno, cambios en las API web, cambios en la biblioteca estándar, TypeScript 5.0, V8 11.2 |
Old version, no longer maintained:1.33.0 | Old version, no longer maintained:1.33.4 | 28 de abril de 2023 | 18-05-2023 | Base de datos de clave-valor incorporada , configuración más plana, sin verificación de permisos para importaciones dinámicas, compatibilidad mejorada con Node.js/npm, mejoras de rendimiento, mejoras de CLI, cambios en las API de Deno, V8 11.4 |
Old version, no longer maintained:1.34.0 | Old version, no longer maintained:1.34.3 | 23 de mayo de 2023 | 15 de junio de 2023 | Compatibilidad de compilación de Deno con paquetes npm, compatibilidad con glob en Deno.json y marcas CLI, compatibilidad con direcciones IP en certificados TLS, mejoras en el archivo de configuración, cambios en la API, mejoras en la compatibilidad con Node.js, TypeScript 5.0.4, V8 11.5 |
Old version, no longer maintained:1.35.0 | Old version, no longer maintained:1.35.3 | 5 de julio de 2023 | 26 de julio de 2023 | Nueva API de servidor web estable, mejoras de compatibilidad con Node.js, cambios en la API de Deno, cambios en la API web, mejoras en LSP, actualizaciones a la biblioteca estándar, TypeScript 5.1.6, V8 11.6 |
Old version, no longer maintained:1.36.0 | Old version, no longer maintained:1.36.2 | 03-08-2023 | 21 de agosto de 2023 | Seguridad más flexible y API de pruebas ampliadas |
Old version, no longer maintained:1.37.0 | Old version, no longer maintained:1.37.2 | 19-09-2023 | 12 de octubre de 2023 | Compatibilidad con Jupyter, TypeScript 5.2, corrección de errores |
Old version, no longer maintained:1.38.0 | Old version, no longer maintained:1.38.5 | 1 de noviembre de 2023 | 5 de diciembre de 2023 | Deno.Server Renombrado a , Compatibilidad y correcciones de Jupyter, Funciones de WebsocketDeno.HttpServer |
Old version, no longer maintained:1.39.0 | Old version, no longer maintained:1.39.4 | 13 de diciembre de 2023 | 13 de enero de 2024 | Nueva incorporación de compatibilidad con WebGPU |
Old version, no longer maintained:1.40.0 | Old version, no longer maintained:1.40.5 | 25 de enero de 2024 | 15 de febrero de 2024 | Temporal API, soporte adicional, soporte de decorador de etapa 3, desusos preparatorios de Deno 2, mejores mapas de importación, ventanas WebGPU y actualizaciones de indicadores inestablesimport.meta |
Old version, no longer maintained:1.41.0 | Old version, no longer maintained:1.41.3 | 22 de febrero de 2024 | 14 de marzo de 2024 | Binarios compilados más pequeños, compilaciones oficiales de Linux ARM64 |
Old version, no longer maintained:1.42.0 | Old version, no longer maintained:1.42.3 | 22 de febrero de 2024 | 14 de marzo de 2024 | Compatibilidad con JSR |
Old version, no longer maintained:1.43.0 | Old version, no longer maintained:1.43.6 | 01-05-2024 | 21-05-2024 | Servidor de idiomas acelerado en monorepos, nuevo servidor Deno, API, indicador de función Deno 2, V8 12.4URL.parse() |
Old version, no longer maintained:1.44.0 | Old version, no longer maintained:1.44.4 | 30-05-2024 | 19 de junio de 2024 | Compatibilidad inicial con Next.js, registros npm privados, gRPC |
Old version, no longer maintained:1.45.0 | Old version, no longer maintained:1.45.5 | 10 de julio de 2024 | 31-07-2024 | Compatibilidad de Monorepo con espacios de trabajo, actualizaciones de instalación de deno, comando para inicializar el proyecto JSR, desuso del proveedor de deno, estabilización de la biblioteca estándar en curso, V8 12.7 y TypeScript 5.5.2 |
Old version, no longer maintained:1.46.0 | Old version, no longer maintained:1.46.3 | 22 de agosto de 2024 | 04-09-2024 | Simplificaciones de CLI, multiprocesamiento de Deno Serve, soporte de formato expandido, desuso de aserciones de importación, firma de código, soporte de Playwright, HMR estable, biblioteca estándar estabilizada, adiciones de CLI, V8 12.9 |
Old version, no longer maintained:2.0.0 | Current stable version: 2.0.3 | 09-10-2024 | 25 de octubre de 2024 | Mejoras de compatibilidad con Node.js, anuncio del canal de lanzamiento LTS, mejoras de rendimiento |
Leyenda: Versión antigua Old version, still maintained Última versión Latest preview version Lanzamiento futuro |
Los números de versión se basan en lanzamientos de Github. [34]
Versión | Último lanzamiento del parche | Fecha de lanzamiento | Fecha del último lanzamiento del parche | Descripción |
---|---|---|---|---|
Old version, no longer maintained:1.0.0 | Old version, no longer maintained:1.0.0 | 28 de junio de 2022 | 28 de junio de 2022 | Lanzamiento inicial |
Old version, no longer maintained:1.1.0 | Old version, no longer maintained:1.1.6 | 09-08-2022 | 23 de mayo de 2023 | JSX automático, nuevo complemento twind, compatibilidad con Preact Signals, compatibilidad con Preact DevTools, representación explícita de páginas 404, middleware apilado, compatibilidad experimental con Deno.serve, escaparate y distintivos "Made with Fresh" |
Old version, no longer maintained:1.2.0 | Old version, no longer maintained:1.2.0 | 15 de junio de 2023 | 15 de junio de 2023 | Más tipos de datos admitidos en propiedades de isla, compatibilidad para pasar JSX a islas y anidar islas, compatibilidad para importar paquetes desde npm, controladores de solicitud HEAD personalizados, anulaciones de encabezados y estado desde ctx.render, representación asincrónica de complementos, pruebas simplificadas |
Old version, no longer maintained:1.3.0 | Old version, no longer maintained:1.3.1 | 18 de julio de 2023 | 21 de julio de 2023 | Componentes de ruta asincrónica. Agregar rutas y/o middlewares desde el complemento. Plantilla de error 500, límites de error, exportación de múltiples islas en el mismo archivo, reglas de linting nuevas, compatibilidad con Deno.serve |
Old version, no longer maintained:1.4.0 | Old version, no longer maintained:1.4.3 | 16 de agosto de 2023 | 06-09-2023 | Cargas de página más rápidas con compilación anticipada, HTML personalizado, etiquetas de encabezado y cuerpo, diseños (diseños asincrónicos y contenedor de aplicación asincrónica, escritura más rápida con funciones de definición) |
Old version, no longer maintained:1.5.0 | Old version, no longer maintained:1.5.4 | 10 de octubre de 2023 | 06-09-2023 | Compatibilidad con parciales y CSR, estilo de enlace activo, configuración de objetivos de esbuild expuestos y metafile.json |
Old version, no longer maintained:1.6.0 | Old version, no longer maintained:1.6.8 | 1 de diciembre de 2023 | 22 de marzo de 2024 | Compatibilidad con TailwindCSS, mejoras parciales, mejoras de agrupación, API de complementos mejorada, rendimiento mejorado de coincidencia de rutas, compatibilidad con subrutas, mejores tipificaciones, la superposición de errores se puede cerrar |
Old version, no longer maintained:1.7.0 | Current stable version: 1.7.3 | 15 de agosto de 2024 | 14 de octubre de 2024 | Añadir compatibilidad con sockets de dominio Unix |
Leyenda: Versión antigua Old version, still maintained Última versión Latest preview version Lanzamiento futuro |
Los números de versión se basan en los números de lanzamiento del repositorio de Github. [35]
Versión | Último lanzamiento del parche | Fecha de lanzamiento | Fecha del último lanzamiento del parche | Descripción |
---|---|---|---|---|
Old version, no longer maintained:beta | Old version, no longer maintained:beta | 04-04-2023 | 04-04-2022 | Lanzamiento inicial |
Old version, no longer maintained:0.1.0 | 19 de abril de 2023 | |||
Old version, no longer maintained:0.2.0 | 8 de mayo de 2023 | |||
Old version, no longer maintained:0.3.0 | 06-06-2023 | |||
Old version, no longer maintained:0.4.0 | 20 de junio de 2023 | OAuth de Deno KV | ||
Old version, no longer maintained:0.5.0 | 27 de junio de 2023 | |||
Old version, no longer maintained:0.6.0 | Old version, no longer maintained:0.6.1 | 06-08-2023 | 12 de septiembre de 2023 | |
Current stable version: 0.7.0 | 19 de diciembre de 2023 | |||
Leyenda: Versión antigua Old version, still maintained Última versión Latest preview version Lanzamiento futuro |
This article may require cleanup to meet Wikipedia's quality standards. The specific problem is: Reads like a software tutorial. Some code examples may be useful to illustrate aspects of the framework, but they should be selected for the purpose of providing context to an encyclopedia article on the software. (July 2023) |
Un programa básico de ¡Hola mundo! en Deno:
consola .log ( "¡Hola, mundo!" ) ;
Los espacios de nombres globales Deno
exponen API que no están disponibles en el navegador. Una implementación del programa cat de Unix : [1]
/** * cat.ts */ for ( const nombre_archivo de Deno . args ) { const archivo = await Deno . open ( nombre_archivo ); await archivo . readable . pipeTo ( Deno . stdout . writable , { preventClose : true }); }
Un servidor web sencillo : [2]
Deno . serve (( req ) => new Respuesta ( "hola mundo" ));
Deno descarga y almacena en caché automáticamente los archivos de la biblioteca estándar remota cuando se ejecuta el script y luego compila el código.
De manera similar, puede ejecutar un script de biblioteca estándar (como un servidor de archivos ) directamente sin descargarlo explícitamente, proporcionando la URL como nombre de archivo de entrada ( -A
activa todos los permisos):
$ deno run -A https://deno.land/std/http/file_server.ts Descargar https://deno.land/std/http/file_server.ts Compilar https://deno.land/std/http/file_server.ts ... Servidor HTTP escuchando en http://0.0.0.0:4500/