Eroare de compilare TypeScript: modificatorul 'declare' nu este permis pentru codul aflat deja în context ambient


Folosesc fișierul de definiție TypeScript pentru Breeze în proiectul meu (breeze.d.ts). Când compilez proiectul, primesc o eroare pe linia 216:

'declare' modifier not allowed for code already in an ambient context.

Dacă pur și simplu șterg declare, se compilează cu succes.

Există cineva care să întâmpine aceeași problemă?

Mulțumesc.

Răspuns #1

Se întâmplă atunci când te afli într-o secțiune declare, de exemplu:

declare module Mod{
    declare var x;
}

Remediul este să elimini cuvântul cheie declare din interior:

declare module Mod{
    var x;
}

Deci: Fișierul original de definiție TypeScript pe care îl ai este incorect pentru cea mai recentă versiune de TypeScript.

Răspunsul #2

Am primit această eroare pentru că am adăugat ';' la sfârșitul liniilor dintr-un bloc declare module:

declare module SomeModule {
    export function someFunction():any; <--- remove the ';'
    export function anotherFunc():any
}