2016-08-30 3 views
0

Ich versuche, ein Javascript-Projekt in Typescript zu portieren. Ich habe eine Abhängigkeit wie genannt: @myscope/utilsWo/wie man D.ts für private, beschränkte npm Module hinzufügt?

Eine Datei von dieser in die ts-Datei importiert wie folgt:

import date = require('@myscope/utils/date'); 

Als ich das ich die folgende Fehlermeldung zu kompilieren versuchen:

src/subfolder/something.ts(12,23): error TS2307: Cannot find module '@myscope/utils/date'. 

Wie füge ich eigene Typings für solche privaten Module hinzu?

Antwort

2

Ich habe es geschafft, dies selbst zu lösen. ich auf die genannten Informationen auf writing declaration files

Der Schlüssel das Modul zu erhalten, ist zu ein Modul mit dem Namen des vollständigen Pfad des Pakets erklären gelöst werden. Ich habe eine index.d.ts Datei für das Modul erstellt, die ich zu meinem files Abschnitt von tsconfig.json hinzugefügt habe.

Die Datei enthielt folgende Erklärung ab:

declare namespace date { 
    function now(): number; 
} 

declare module "@myscope/utils/date" { 
    export = date; 
} 

Obwohl nicht notwendig, ich strukturiert meine Importe wie Typisierungen der Fall ist. Ich kann später vereinfachen, nachdem ich den Rest der Anwendung portiert habe.

ich erstellt die folgenden Dateien:

mytypings/index.d.ts 
mytypings/modules/@myscope/utils/index.d.ts 

Hinweis kein Teil des utils Pfad aktuell ist.

mytypings/index.d.ts enthält einen Referenzpfad zu mytypings/modules/@myscope/utils/index.d.ts und wurde dann zum Abschnitt tsconfig.json hinzugefügt.

Mein Plan ist, andere Bibliotheken auf die gleiche Weise hinzuzufügen.

Verwandte Themen