Búsqueda de sitios web

commonjs - TypeScript y opción de módulo configurada a es2015/es2020/esnext


Este es mi archivo tsconfig.json:

{
    "compilerOptions": {
        "target": "es5",
        "module": "esnext",
    }
}

y mi archivo test.ts:

module.exports.a = 4;

Luego ejecuto yarn tsc y, sorprendentemente, en mi archivo de salida test.js todavía tengo

module.exports.a = 4;

Pregunta: ¿Por qué el contenido del archivo de salida no está usando módulos esnext? ¿Por qué no es export const a=4?

Por cierto, si voy por otro camino: module configurado en commonjs y test.ts con export const a=4, el archivo de salida se genera correctamente con módulos cjs.

¿Por qué TypeScript puede compilar módulos de ES a CJS y no de CJS a ES? Si de hecho TS no puede hacerlo, entonces ¿por qué tenemos la opción de módulo de todos modos?

Artículos relacionados