atom-typescript kan inte hitta typdefinitioner


Jag har precis konfigurerat ett nytt Angular/Typescript-projekt i Atom med hjälp av atom-typescript. Projektet är uppsatt för att ha en huvudfil för Angular-modulen som importerar alla moduler, inklusive typdefinitionsfilerna. Allt kompileras i gulp och körs utan problem.

Eftersom jag använder gulp har jag konfigurerat atom-typescript för att inte kompilera .ts-filerna vid sparande. Nu ser jag fel i alla mina .ts-filer som visar att atom-typescript-lintaren inte kan hitta typdefinitionerna.

Ex: Modul 'ng' har ingen exporterad medlem 'IScope' vid rad 1 kolumn 32

Jag vet att jag förmodligen kan lösa detta problem genom att lägga till en referensväg till varje av mina ts-filer som /// <reference path="../../.tmp/typings/tsd.d.ts" />, men det verkar verkligen redundanta och onödigt.

Eftersom dessa fel orsakas av atom-typescript, finns det något sätt som jag kan ange platsen för mina typdefinitionsfiler någonstans i inställningarna för hela projektet? Några andra förslag på hur man kan hantera detta?

Svar #1

Lägg typsättningarna i tsconfig.json-filen tillsammans med de andra ts-filerna i files-posten.

Eftersom du använder atom-typescript kan du till och med använda globmönster, dvs.

{
...
    "filesGlob": [
        "./typescript/**/*.ts",
        "./typescript/**/*.tsx",
        "./typings/**/*.d.ts"
    ]
...
}

Posten files kommer att uppdateras automatiskt.

Redigera

Eftersom detta nu officiellt stöds av Typescript, kan en mer portabel lösning (över IDE:er) vara att använda exclude-egenskapen i tsconfig.

Detta fungerar tvärtom: kompilera allt utom det som är uteslutet (vanligtvis allt under node_modules och de statiska tillgångarna i, säg, public)

{
    "compilerOptions": {
        ...
    },
    "exclude": [
        "node_modules",
        "public"
    ]
}

Officiella detaljer på denna länk