Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →
Esecuzione di Task
I monorepos possono contenere centinaia o addirittura migliaia di progetti, quindi la capacità di eseguire script npm su tutti (o alcuni) di essi è una funzionalità chiave di uno strumento come Lerna.
Definizioni
-
Comando - qualsiasi istruzione digitata dallo sviluppatore nel terminale (es.
lerna run build --scope=header --concurrency=5). -
Target - il nome di uno script npm (es.
build). -
Task - un'invocazione di uno script npm (es.
header:build).
Repository di Esempio
Gli esempi si basano su questo repository, quindi sentiti libero di clonarlo e seguire gli esempi.
Eseguire Tutto
Ogni progetto ha definiti gli script test e build.
Esegui:
npx lerna run build
Questo compilerà i progetti nell'ordine corretto: prima footer e header, poi remixapp.
✔ header:build (501ms)
✔ footer:build (503ms)
✔ remixapp:build (670ms)
—————————————————————————————————————————————————————————————————————————————
Lerna (powered by Nx) Successfully ran target build for 3 projects (1s)
Nota che a Lerna non interessa cosa faccia ciascuno script di build. Anche il nome build non è speciale: è semplicemente il nome dello script npm.
Eseguire Più Task in Concorrenza
Puoi passare un elenco di target separati da virgola che desideri attivare in esecuzione concorrente.
npx lerna run test,build,lint
Se, ad esempio, esistono dipendenze tra i tuoi task, come build che deve essere eseguito prima di test per pacchetti specifici, il task-runner le coordinerà per te purché tu abbia configurato un'appropriata Configurazione della Pipeline dei Task.
Eseguire un Task per un Singolo Pacchetto
Durante lo sviluppo raramente esegui tutte le build o tutti i test. Invece, spesso esegui operazioni solo sui progetti che stai modificando. Ad esempio, puoi eseguire i test di header così:
npx lerna run test --scope=header
Eseguire i Task Influenzati da una PR
Puoi anche eseguire un comando per tutti i progetti interessati dalla tua PR in questo modo:
npx lerna run test --since=origin/main
Scopri di più qui.
Controllare Come Vengono Eseguiti i Task
Per un maggiore controllo sull'ordine di esecuzione dei task, modifica la Configurazione della Pipeline dei Task.
Per velocizzare l'esecuzione dei task, scopri come Memorizzare nella Cache i Risultati dei Task e Distribuire l'Esecuzione dei Task.
Caricamento Automatico dei File .env
Per impostazione predefinita, il moderno task runner basato su Nx caricherà automaticamente i file .env per te. Puoi impostare --load-env-files su false se desideri disabilitare questo comportamento per qualsiasi motivo.
Per maggiori dettagli su quali file .env vengono caricati per impostazione predefinita, consulta: https://nx.dev/recipes/environment-variables/define-environment-variables