node.js - Hvordan bruke 'main'-parameteren i package.json i TypeScript-prosjekt?
Jeg prøver å lage en ny NPM-pakke med TypeScript og Node. Pakken lar bare brukerne bruke en datastruktur jeg har laget. Jeg prøver å finne ut hva som bør være riktig inngangspunkt (verdien av main) i min package.json-fil. Som jeg forstår det, skal jeg kompilere TypeScript-filene (som ligger i src/) til dist/-katalogen, og disse filene vil faktisk bli lagt ut på NPM.
Så bør jeg ha index.ts eller index.js? Hvis det er index.ts må jeg vel også kompilere det, ikke sant? Hvis det er index.js, må jeg da peke det til dist/? Jeg er litt forvirret om hva som er den "rette"/"konvensjonelle" måten å gjøre det på. Til slutt vil jeg bare at brukere skal kunne laste klassene jeg eksporterer i filen src/mylist.ts (som blir kompilert til dist/mylist.js). Trenger jeg det egentlig?
Jeg leste emnet Hvordan bruke 'main'-parameteren i package.json?, men det refererer bare til JS-prosjekter. Hvordan bør det være i TypeScript?
Svar #1
Siden TypeScript vanligvis kompileres før distribusjon, bør du kompilere det og bruke dist/index.js
Du vil trenge dette for å definere hva import {} from 'my-module' betyr (dvs. import {} from 'my-module' behandles på samme måte som import {} from 'my-module/dist/index.js')
Hvis du ikke publiserer modulen din og ikke bruker den som en avhengighet for en annen modul, trenger du dette i det hele tatt, bare lag en scripts: { start: "tsx src/index.ts" } eller hva som helst