typescript - Kjør NestJS-skript fra kommandolinjen
Jeg vil kunne kjøre et skript som analyserer en XML-fil ved hjelp av NestJS-rammeverket for et bevis på konsept, men jeg er ikke sikker på hvordan jeg skal gjøre det.
Jeg opprettet en scripts-mappe inne i /src og plasserte min script.ts med en initial console.log der. Hvordan kan jeg kjøre kommandoer i den filen? Bør jeg endre script.ts-filen til vanlig JavaScript i stedet for TypeScript og deretter kjøre node myscript.ts? Hva er riktig tilnærming for dette?
Svar #1
Jeg klarte å kjøre ts-filen min ved å bruke npx ts-node my-file.ts
Svar #2
Du kan legge til en bin-egenskap i din package.json med navnet på kommandoen du vil gi, og js-filen som er tilknyttet kommandoen. Fra der, hvis du kjører "commandName", bør du få kommandoen til å kjøre riktig (etter å ha bygget fra Typescript til JavaScript selvfølgelig). Som et eksempel kan du se dette. Den opprinnelige kommandofilen er skrevet i Typescript, gitt en shebang på #!/usr/bin/env node for å tillate bruk av node som skriptkjører, og deretter kompilert til JavaScript sammen med resten av biblioteket. Derfra kjører jeg bare ogma <file_name> og lar skriptet ta seg av resten.
For deg vil det å legge til Nest være et steg på toppen av dette, men fortsatt ganske lett å håndtere ettersom du vil bruke inngangsfilen til å bruke NestFactory for å opprette applikasjonen og deretter sende de forventede dataene til en slags handler som beskrevet kort her. Føl deg fri til å kommentere hvis du har noen andre spørsmål.