Saltar al contenido
webtype.orgwebtype.orgtsconfig

    ↑↓ mover · ⏎ abrir · esc cerrar

    tsconfig

    isolatedModules

    Un archivo cada vez

    Rechaza las construcciones que no pueden compilarse bien sin mirar otros archivos, que es como compila todo empaquetador rápido.

    Desde
    TypeScript 1.5
    strict
    Fuera de strict
    En tu tsconfig
    "isolatedModules": true
    Compilado con
    "module": "esnext""moduleResolution": "bundler"

    El mismo fragmento las dos veces. Solo cambió la opción.

    Con ella apagada

    "isolatedModules": false

    main.ts

    import { Widget } from './widget'
    
    export { Widget }

    widget.ts

    export type Widget = { id: number }

    Compila limpio

    Con ella encendida

    "isolatedModules": true

    main.ts

    import { Widget } from './widget'
    
    export { Widget }

    widget.ts

    export type Widget = { id: number }

    Emite TS1205

    Por qué al compilador le importa

    esbuild, swc, Babel y todo servidor de desarrollo construido sobre ellos transforman un archivo cada vez, sin información de tipos. Reexportar un nombre sin saber si es un tipo o un valor les resulta indecidible, así que o adivinan o se rompen. Activarla hace que `tsc` rechace justo el código que esas herramientas no pueden manejar, y la compilación deja de contradecir a lo que de verdad produce tu salida.

    Conclusión

    Si un empaquetador produce tu JavaScript, esta bandera hace que `tsc` esté de acuerdo con él.

    Adónde ir después

    22 opciones