1

Ich habe eine package.json wie einTypisierungen für nicht Hauptdatei

{ 
    "name": "some-project", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "typings": "./index.d.ts" 
} 

Und in Typoskript kann ich dieses Paket wie ein

import someProject from "some-project"; 

benutzen, aber ich habe eine andere Datei helpers.js Und ich möchte diese verwenden wie ein

import someProject from "some-project/helpers"; 

Wie kann ich die Eingabe für dieses fil erstellen e? Er hat nichts mit index.js Thanks zu tun.

Antwort

0

Sie können einen etwas anderen Ansatz anwenden, um Ihre Typings in logische "Blöcke" aufzuteilen.

In Ihrem index.ts:

export * from './main'; 

import * as helpers from './helpers'; 
export {helpers}; 

Dann können Sie Ihre Helfer-Funktionalität in einer ähnlichen Weise verwenden, was Sie gefragt:

import * as sp from 'some-project' 
sp.doSomething(); 
sp.helpers.doSomethingElse(); 
0

Normalerweise index.ts (von der index.d.ts erzeugt wird) ist der Einstiegspunkt, der alle Symbole der Bibliothek/des Pakets exportiert. In Ihrem Fall gibt es viele verschiedene isolierte Module in einem Paket und es gibt keine Fassade, um alle diese isolierten Module von einem Platz zu exportieren. Standardmäßig excludes in tsconfig hat node_modules, was bedeutet, dass Ihre Definitionen anders als index.d.ts nicht in Kompilierung enthalten sind. Sie können dies durch explizit definierte includes ändern, um alle .ts, .d.ts, .tsx aus bestimmten Verzeichnissen einzuschließen.

"include": [ 
    "node_modules/yourPackage/**/*", 
    "yourWorkingDirectory/**/*" 
] 

"yourWorkingDirectory/**/*" müssen auch dem Array hinzugefügt werden, da Sie includes explizit sind zu definieren.

+0

Weitere Informationen hier über 'includes' und' excludes' https://www.typescriptlang.org/docs/handbook/tsconfig-json.html –

Verwandte Themen