javascript - Nemožno nájsť 'ng' v module... - nefunkčný Intellisense?


Keď sa pokúšate odkazovať na externé moduly, Intellisense zobrazí chybu v zmysle..

Could not find symbol 'ng' in global module

alebo..

Could not find symbol 'ng' in module 'App' // my main module

..aj keď správne odkazujem na definície TypeScriptu (používam definitelyTyped):

_references.ts

/// <reference path="../../typings/tsd.d.ts" />

declare var angular: ng.IAngularStatic; // unable to find in global module

SomeDirective.ts

/// <reference path="_references.ts" />

module App {
    export class SomeDirective implements ng.IDirective // unable to find in module 'App'
}

Zaujímavo, kompilovanie súborov *.ts pomocou grunt-typescript funguje dobre a aplikácia beží bez akýchkoľvek problémov.

Odpoveď č. 1

Vo vašom kóde máte niekde "declare module ng". Prosím, zmeňte to na "declare module angular"

Podrobnosti: https://github.com/borisyankov/DefinitelyTyped/pull/3851#issue-60749247

Aktualizácia

Čo mám na mysli, je vyhľadať declare module ng. Nemali by sa zobraziť žiadne výsledky (čo však u vašej kódbázy pravdepodobne nie je pravda).

Poznámka: angular.d.ts teraz robí declare module angular a nie declare module ng.

https://github.com/borisyankov/DefinitelyTyped/blob/master/angularjs/angular.d.ts#L26

Odpoveď č. 2

Mal som presne ten istý problém. V typoch som nahradil "declare namespace angular" za "declare module angular" a teraz je všetko v poriadku!

typings boli odtiaľto: https://github.com/DefinitelyTyped/DefinitelyTyped

Priložil som tento jeden súbor angular.d.ts (/// )

Súvisiace články