node.js - Hur man använder parametern 'main' i package.json i ett TypeScript-projekt?
Jag försöker skapa ett nytt NPM-paket med TypeScript och Node. Paketet tillåter bara användarna att använda en datastruktur som jag byggt. Jag försöker ta reda på vad som är rätt startpunkt (värdet av main) i min package.json-fil. Såvitt jag förstår kommer jag att kompilera TypeScript-filerna (som finns i src/) till dist/-katalogen och dessa filer kommer faktiskt att hostas på NPM.
Så ska jag ha index.ts eller index.js? Om det är index.ts måste jag ju också kompilera det, eller hur? Om det är index.js, då måste jag peka det mot dist/? Jag är lite förvirrad om vad som är det "rätta"/"konventionella" sättet att göra det på. I slutändan vill jag bara att användare ska kunna ladda de klasser jag exporterar i min src/mylist.ts-fil (som kompileras till dist/mylist.js). Behöver jag ens det?
Jag läste ämnet Hur man använder 'main'-parameter i package.json?, men det hänvisar bara till JS-projekt. Hur ska det vara i TypeScript?
Svar #1
Eftersom TypeScript vanligtvis kompileras innan distribution, bör du kompilera det och använda dist/index.js
Du kommer att behöva detta för att definiera vad import {} from 'my-module' betyder (dvs. import {} from 'my-module' behandlas på samma sätt som import {} from 'my-module/dist/index.js')
Om du inte publicerar din modul och inte använder den som ett beroende i någon annan av dina moduler behöver du det här alls, skapa bara scripts: { start: "tsx src/index.ts" } eller vad du nu vill