Búsqueda de sitios web

typescript - ¿Cómo resolver el error "el módulo no tiene un miembro exportado"?


Estoy siguiendo las instrucciones de esta respuesta, pero no puedo hacer que la solución funcione.

Resumen

Quiero usar import { Type } from "Module" en lugar de /// <reference path="..." />

Estructura

-app\
  -ViewModel.ts
  -Program.ts

ViewModel.ts

export module Demo {
    export class ViewModel {
        constructor(public test: string) {
        }
    }
}

Program.ts

import { ViewModel } from "ViewModel";

El módulo 'C:/DemoApp/app/ViewModel' no tiene un miembro exportado 'ViewModel'.

y...

Solo se admiten los módulos 'amd' y 'system' junto con --outFile.

Meta

Quiero poder referenciar dependencias de manera que se compilen en un solo archivo en orden.


Si agrego "module": "system", todavía obtengo el primero de los errores mencionados.

Según la primera solución, no quiero perder los espacios de nombres.

Respuesta #1

Elimine la línea de abajo de su declaración

export module Demo

y úsalo como

export class ViewModel {
    constructor(public test: string) {
    }
}

Editar: Para el espacio de nombres, simplemente haz algo como

namespace Demo {
  export class ViewModel {
        constructor(public test: string) {
        }
    }
}

Artículos relacionados