typescript - Hur man kör engångsuppgifter i NestJS
Jag är ny på NestJS och försöker lista ut det bästa sättet att köra engångsinitieringsuppgifter och importuppgifter. I Rails skulle man använda Rake för att köra uppgifterna, men jag är inte säker på vad man ska använda här. Jag ser saker som nest-commander och nestjs-cli, men det verkar som att man behöver sätta upp en annan appinstans för att få det att fungera och jag är inte säker på om det är rätt sätt att hantera det på. Jag har också sett andra verktyg som Jake, men jag skulle behöva tillgång till mina NestJS-moduler i uppgifterna. Har någon hittat ett bra sätt att hantera detta eller har ett exempel på hur det har hanterats väl i ett projekt?
Svar #1
I det här fallet skulle jag förmodligen göra är
- skapa ett modul med en tjänst.
- skapa metoder som gör saker åt dig
- borde ha en init-metod som kan påbörja uppgiften
- använd ett test för att kompilera denna modul och kör testet för servicemetoden som initierar uppgiften.
Svar #2
Jag tog inspiration från användningen av ConfigService från @nestjs/config-paketet i main.ts-filen. Som beskrivs i dokumentationen kan du referera till tjänsten och anropa en metod på den i bootstrap-metoden. På samma sätt kan du göra det med din egen tjänst:
const myService = app.get(MyService);
await myService.initialiseSomething();
