• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

338
Views
¿Configuración de TypeScript tsconfig para Node.js 12?

¿Cuál es la configuración óptima de tsconfig de TypeScript para generar código que se ejecutará en Node.js 12?

over 3 years ago · Santiago Trujillo
3 answers
Answer question

0

A partir de Node.js 12.0.0 , se admite el 100 % de ES2019. Si sabe que su objetivo es esa versión o una más reciente, la configuración óptima se vería así:

  • "module": "commonjs"

    Node.js está en camino de agregar ES-Modules, pero por ahora tendremos que quedarnos con CommonJS.

  • "target": "es2019"

    Esto le dice a TypeScript que está bien generar sintaxis de JavaScript con funciones de ES2019. En la práctica, esto significa que, por ejemplo, generará las propiedades de descanso/difusión del objeto y la sintaxis asíncrona/espera en lugar de incrustar un polirrelleno.

  • "lib": ["es2019", "es2020.bigint", "es2020.string", "es2020.symbol.wellknown"]

    Esto le dice a TypeScript que está bien usar funciones y propiedades introducidas en ES2019 o antes. En la práctica, esto significa que puede usar, por ejemplo, String.prototype.trimStart y Array.prototype.flat .

    Además de ES2019, Node.js 12 también es compatible con BigInt y matchAll de ES2020, por lo que incluimos las definiciones adicionales de ES2020.

La configuración completa sería así:

 { "compilerOptions": { "lib": ["es2019", "es2020.bigint", "es2020.string", "es2020.symbol.wellknown"], "module": "commonjs", "target": "es2019" } }

Si tiene como objetivo Node.js 12.9.0 o posterior , simplemente puede especificar "lib": ["es2020"] ya que esa versión es compatible con todas las funciones y propiedades nuevas introducidas en ES2020. Sin embargo, no es compatible con la nueva sintaxis de JavaScript, por lo que aún debe permanecer en "target": "es2019" .

La configuración completa sería así:

 { "compilerOptions": { "lib": ["es2020"], "module": "commonjs", "target": "es2019" } }

Si está ejecutando Node.js 16, puede ver mi respuesta similar para Node.js 16 aquí

Si está ejecutando Node.js 14, puede ver mi respuesta similar para Node.js 14 aquí

Si está ejecutando Node.js 10, puede ver mi respuesta similar para Node.js 10 aquí

Si está ejecutando Node.js 8, puede ver mi respuesta similar para Node.js 8 aquí

over 3 years ago · Santiago Trujillo Report

0

TL:DR

TypeScript mantiene una asignación de destino, módulo y lib correspondiente a la versión del nodo. Puede encontrarlo aquí https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping

over 3 years ago · Santiago Trujillo Report

0

Es mucho más fácil usar las bases de tsconfig .

Ejecute npm install --save-dev @tsconfig/node12 y luego en tsconfig.json

 { "extends": "@tsconfig/node12/tsconfig.json", // ...your configrations }

Hay algunas bases de tsconfig para diferentes entornos y la comunidad sigue agregando más.

over 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error