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 (/// )