Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

Cómo usar TypeScript con Node.js: The Dynamic Duo para desarrollo web

Cómo usar TypeScript con Node.js
Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

TypeScript se está abriendo camino como uno de los lenguajes de programación más populares para las organizaciones modernas. 

Mecanografiado es un superíndice de JavaScript compilado y estrictamente tipado (construido sobre el lenguaje JavaScript). Este lenguaje de tipado estático, desarrollado y mantenido por Microsoft, admite conceptos orientados a objetos como su subconjunto, JavaScript. 

Este lenguaje de programación de código abierto tiene muchos casos de uso, como la creación de aplicaciones web, a gran escala y móviles. TypeScript se puede usar para el desarrollo de frontend y backend. También tiene varios marcos y bibliotecas que simplifican el desarrollo y amplían sus casos de uso. 

¿Por qué usar TypeScript con Node.js? Este artículo discutirá por qué TypeScript se considera "mejor" que JavaScript, cómo instalarlo usando Node.js, configurar y crear un pequeño programa usando TypeScript y Node.js. 

TypeScript with Node.js: Benefits

  • Escritura estática opcional: JavaScript se escribe dinámicamente, lo que significa que el tipo de datos de una variable se determina en tiempo de ejecución y no durante el tiempo de compilación. Por otro lado, TypeScript ofrece escritura estática opcional, lo que significa que una vez que declaras una variable, no cambiará su tipo y solo tomará ciertos valores. 
  • Previsibilidad: Cuando se trata de TypeScript, existe la seguridad de que todo lo que defina seguirá siendo el mismo. Por ejemplo, si declara una determinada variable como booleana, nunca puede cambiar a una cadena en el camino. Como desarrollador, tiene la seguridad de que sus funciones seguirán siendo las mismas. 
  • Fácil de detectar errores temprano: TypeScript detecta la mayoría de los errores tipográficos de manera temprana, por lo que su probabilidad de pasar a producción es baja. Esto reduce el tiempo que los ingenieros dedican a probar el código en etapas posteriores. 
  • Compatible con la mayoría de los IDE: TypeScript funciona con la mayoría de los entornos de desarrollo integrados (IDE). La mayoría de estos IDE proporcionan finalización de código y resaltado de sintaxis. Este artículo utilizará Código de Visual Studio, otro producto de Microsoft. 
  • Código fácil de refactorizar: Puede actualizar o refactorizar su aplicación TypeScript sin cambiar su comportamiento. La presencia de herramientas de navegación y el IDE que comprende su código facilita la refactorización de la base de código sin esfuerzo. 
  • Utiliza paquetes existentes: No tienes que crear todo desde cero; puede usar paquetes NPM existentes con TypeScript. Este lenguaje también tiene una comunidad sólida que mantiene y crea definiciones de tipos para paquetes populares. 

How to use TypeScript with Node.js

Aunque TypeScript tiene estas ventajas, los navegadores modernos no pueden leer su código en forma simple. Por lo tanto, el código TypeScript debe transpilarse primero a código JavaScript para ejecutarse en los navegadores. El código resultante tendrá la misma funcionalidad que el código TypeScript original y funcionalidades adicionales que no están disponibles en JavaScript. 

Requisitos previos 

  • Nodo.js: Node es un entorno de tiempo de ejecución multiplataforma que permite ejecutar código JavaScript fuera de un entorno de navegador. Puede verificar si el nodo está instalado en su máquina usando este comando;

node -v

De lo contrario, puedes descargar Node.js del sitio web oficial. Ejecute el comando anterior nuevamente después de la instalación para verificar si se ha configurado correctamente. 

  • Un administrador de paquetes de nodos: Puede usar NPM o Yarn. El primero se instala por defecto cuando instalar Node.js. Usaremos NPM como administrador de paquetes en este artículo. Use este comando para verificar su versión actual;

npm -v

Instalación de TypeScript con Node.js

Paso 1: configurar una carpeta de proyecto

Comenzaremos creando una carpeta de proyecto para el proyecto de TypeScript. Puede dar a esta carpeta el nombre que desee. Puede usar estos comandos para comenzar;

mkdir typescript-node

cd typescript-node

Paso 2: Inicializar el proyecto

Use npm para inicializar su proyecto usando este comando;

npm init -y

El comando anterior creará un archivo package.json. El indicador -y en el comando le dice a npm que incluya los valores predeterminados. El archivo generado tendrá un resultado similar. 

{

  "name": "typescript-node",

  "version": "1.0.0",

  "description": "",

  "main": "index.js",

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1"

  },

  "keywords": [],

  "author": "",

  "license": "ISC"

}

Configuración de TypeScript con Node.js

Paso 1: Instale el compilador de TypeScript

Ahora puede instalar el compilador de TypeScript en su proyecto. Ejecute este comando;

npm install --save-dev typescript

La salida en su línea de comando será algo similar a esto;

added 1 package, and audited 2 packages in 26s

found 0 vulnerabilities

Nota:: El enfoque anterior instala TypeScript localmente en la carpeta del proyecto en el que está trabajando. Puede instalar TypeScript globalmente en su sistema, por lo que no tiene que instalarlo cada vez que trabaja en un proyecto. Use este comando para instalar TypeScript globalmente;

npm install -g typescript

Puede verificar si TypeScript se ha instalado usando este comando;

tsc -v

Paso 2: Agregar tipos de Ambient Node.js para TypeScript

TypeScript tiene diferentes tipos, como Implicit, Explicit y Ambient. Los tipos ambientales siempre se agregan al ámbito de ejecución global. Use este comando para agregar tipos de ambiente;

npm install @types/node --save-dev

Paso 3: Crea un tsconfig.json presentar

Este es el archivo de configuración que especifica todas las opciones de compilación de TypeScript. Ejecute este comando que viene con varias opciones de compilación definidas; 

npx tsc --init --rootDir src --outDir build \

--esModuleInterop --resolveJsonModule --lib es6 \

--module commonjs --allowJs true --noImplicitAny true

Esto se emitirá en el terminal;

imagen-237

El tsconfig.json Se generará un archivo que contiene algunos valores predeterminados y comentarios.

imagen-238
tsconfig.json presentar

Esto es lo que hemos configurado:

  • El rootDir es donde TypeScript buscará nuestro código. Lo hemos dirigido a /src carpeta donde escribiremos nuestro código. 
  • El outDir La carpeta define dónde se coloca el código compilado. Dicho código está configurado para ser almacenado en build/ carpeta.

Usando TypeScript con Node.js

Paso 1: Crear src carpeta y archivo index.ts

Ahora tenemos la configuración básica. Ahora podemos crear una aplicación TypeScript simple y compilarla. La extensión de archivo para un archivo TypeScript es .ts. Ejecute estos comandos dentro de la carpeta que creamos en los pasos anteriores;

mkdir src

touch src/index.ts

Paso 2: agregue código al archivo TypeScript (index.ts)

Puedes comenzar con algo simple como;

console.log('Hello world!')

Paso 3: Compile el código TypeScript en código JavaScript

Ejecute este comando;

npx tsc

Puede comprobar el build carpeta (build/index.js), y verá que se ha generado un index.js con esta salida;

imagen-243

TypeScript se ha compilado en código JavaScript. 

Paso 4: Ejecute el código JavaScript compilado

Recuerde que el código TypeScript no se puede ejecutar en navegadores. Por lo tanto, ejecutaremos el código en index.js en la carpeta de compilación. Ejecute este comando;

node build/index.js

Esta será la salida;

imagen-242

Paso 5: configure TypeScript para compilar automáticamente en código JavaScript

Compilar el código de TypeScript manualmente cada vez que cambia sus archivos de TypeScript puede hacerle perder tiempo. puedes instalar ts-node (ejecuta código TypeScript directamente sin esperar a ser compilado) y nodemon (comprueba su código en busca de cambios y reinicia automáticamente el servidor). 

Ejecute este comando;

npm install --save-dev ts-node nodemon

Luego puede ir al archivo package.json y agregar este script;

"scripts": {

   "start": "ts-node ./src/index.ts"

}

Podemos usar un nuevo bloque de código con fines de demostración;

function sum (num1:number, num2:number, num3:number){

    return num1 + num2 +num3;

}

console.log(sum(10,15,30))

Eliminar el index.js (/build/index.js) y ejecute npm start. 

Su salida será similar a esta;

imagen-241
suma de 3 numeros

Configure TypeScript Linting with eslint

Paso 1: Instalar eslint

Linting puede ser útil si desea mantener la coherencia del código y detectar errores antes del tiempo de ejecución. Instale eslint usando este comando;

npm install --save-dev eslint

Paso 2: Inicializar eslint

Puede inicializar eslint usando este comando;

npx eslint --init

El proceso de inicialización lo llevará a través de varios pasos. Use la siguiente captura de pantalla para guiarlo;

imagen-240

Una vez finalizado el proceso, verá un archivo llamado .eslintrc.js con contenidos similares a este;

module.exports = {

  env: {

    browser: true,

    es2021: true

  },

  extends: 'standard-with-typescript',

  overrides: [

  ],

  parserOptions: {

    ecmaVersion: 'latest',

    sourceType: 'module'

  },

  rules: {

  }

}

Paso 3: Ejecute eslint

Ejecute este comando para verificar y eliminar todos los archivos con el .ts extensión;

npx eslint . --ext .ts

Paso 4: Actualizar package.json 

Agrega una lint script en este archivo para la pelusa automática. 

"scripts": {

    "lint": "eslint . --ext .ts",

  },

TypeScript with Node.js: Best practices

  • Mantenga TypeScript actualizado: Los desarrolladores de TypeScript siempre lanzan nuevas versiones. Asegúrese de tener la última versión instalada en su máquina/carpeta de proyecto y benefíciese de las nuevas funciones y correcciones de errores. 
  • Habilitar modo estricto: Puede detectar los errores de programación comunes en tiempo de compilación cuando habilita el modo estricto en el archivo tsconfig.json. Esto reducirá el tiempo de depuración y aumentará la productividad. 
  • Habilite comprobaciones nulas estrictas: Puede detectar todos los errores nulos e indefinidos en el momento de la compilación habilitando controles nulos estrictos en el archivo tsconfig.json. 
  • Use un editor de código que admita TypeScript: Existen montones de editores de código. Una buena práctica es escoger editores de código como VS Code, Sublime Text o Atom que admiten TypeScript a través de complementos. 
  • Tipos de uso e interfaces: Con tipos e interfaces, puede definir tipos personalizados que puede reutilizar en todo su proyecto. Este enfoque hará que su código sea más modular y fácil de mantener. 

Resumen

Ahora tiene la estructura básica de una aplicación creada con TypeScript en Node.js. Ahora puede usar los paquetes regulares de Node.js, pero aún así, escriba su código en TypeScript y disfrute de todas las características adicionales que vienen con este último. 

Si recién está comenzando con TypeScript, asegúrese de comprender las diferencias entre Mecanografiado y JavaScript

Gracias a nuestros patrocinadores
Más lecturas interesantes sobre el desarrollo
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder