2016-07-10 3 views
1

Ich habe studiert this angular 2 project und ich verstehe nicht, wie src/custom-typings.d.ts enthalten ist? Diese Datei enthält Typoskriptdefinitionen für benutzerdefinierte Typen. In den Quellen gibt es keine import src/custom-typings.d.ts. Ich kann diese Datei als irgendwas umbenennen, ich kann diese Datei in ein beliebiges Verzeichnis stellen und diese Datei wird trotzdem eingefügt. Selbst wenn ich die Erweiterung auf *.ts (nicht *.d.ts) ändere, wird es enthalten sein.Warum Typoskript-Definitionen für benutzerdefinierte Typen in diesem Projekt enthalten sind?

Ich denke, dass meine IDE deshalb langsam ist. Wie kann die automatische Suche nach Typdefinitionen in allen *.ts Dateien im Projekt deaktiviert werden? Ich möchte diese Datei schließen manuell

Antwort

1

Es scheint, es von webpack geladen ist: https://github.com/AngularClass/angular2-webpack-starter/blob/8e93ae998e76efbd7166e0b0c531396098bd4e34/config/webpack.common.js#L137, die für alle schauen .*.ts Dateien ohne .spec.ts und .e2e.ts

Wenn Sie nicht wollen, dass es durch webpack geladen werden, können Sie ausschließen .d.ts Erweiterung im Lader zu und fügen Sie /// <reference path="../path_to/custom-typings.d.ts" /> in Dateien hinzu, in denen Sie diese benutzerdefinierten Typings benötigen.

0

Beim Importieren von {} aus 'Dateiname' wird automatisch nach Dateiname.d.ts gesucht. Diese Dateien haben nur die Deklaration für die Funktion und Variable (sagen, welcher Typ sie sind) nicht die Funktionen selbst, deshalb funktioniert es immer noch - die generierte js-Datei ist immer noch da.

Und für die zweite Frage - Sie haben nicht erwähnt, welche IDE Sie haben. also kann ich dir nicht antworten. Ich habe nicht verstanden, was Sie in Typdefinitionen in allen * .ts-Dateien angegeben haben ... Wenn Sie nicht mit Typanmerkungen arbeiten möchten, verwenden Sie kein Typoskript. und nur der Typ in der Funktion, an der Sie arbeiten (und importieren), wird gesucht

+0

Willkommen bei SO :) Sie sollten die Frage kommentieren, wenn Sie mehr Informationen benötigen, um Ihre Antwort zu vervollständigen, anstatt Ihre Antwort zu kommentieren. –

+0

Ich kann nicht kommentieren, nicht genug Repo. und ich habe versucht, eine Antwort ohne alle benötigten Informationen zu geben – netneta

+0

Ich habe 'Import {} von benutzerdefinierten Typ' nicht geschrieben, aber diese Datei ist enthalten. Wenn ich diese Datei umbenenne, wird diese Datei ebenfalls enthalten sein. Deshalb denke ich, dass alle * .ts-Dateien nach Typdefinitionen durchsucht werden – Ildar

Verwandte Themen