npm - Flera ingångspunkter i TypeScript externa moduler inte lösta
Jag försöker bygga en extern modul, @example/lib för TypeScript med flera ingångspunkter. Jag skulle vilja använda den ungefär så här:
import * as lib from '@example/lib';
import * as foobar from '@example/lib/foobar';
Jag kan bygga ett npm-modul som fungerar korrekt genom att sätta "target": "es5" och "declaration": true i min tsconfig, och peka mina "main" och "typings"-egenskaper i package.json till en enda källplats. Om jag gör detta kan jag alltid importera @example/lib utan problem.
Problemet uppstår när jag försöker importera @example/lib/foobar. TypeScript klagar på att det "Kan inte hitta modulen @example/lib/foobar". Den komplierade utdata kan dock importera denna undermodul utan problem (efter att ha behandlats av webpack).
Inuti mitt @example/lib-projekt har jag källfilerna:
index.js
index.d.ts
foobar.js
foobar.d.ts
Och i min package.json har jag:
{
...
"typings": "index.d.ts"
"main": "index.js"
...
}
Vad behöver jag göra för att hålla TypeScript nöjd (och typkontrollen!) i det här fallet?
Svar #1
Ovanstående fungerar faktiskt.
Tyvärr genererades inte d.ts-filen för foobar i mitt fall, (även om källan gjorde det, på grund av ett fel).