Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
translated to pt-BR
  • Loading branch information
BrendonSSilva committed Jun 29, 2023
commit 3b4cd3327561e7128eb7fb012acd3da5841c4b74
55 changes: 55 additions & 0 deletions i18n/pt-BR/articles/script-runner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: Script Runner
description: O contexto é um objeto JavaScript simples que está completamente desacoplado do próprio framework e pode ser aproveitado para usar o mesmo contexto da aplicação principal para executar scripts.
---

O contexto é um objeto JavaScript simples que está completamente desacoplado do próprio framework e pode ser aproveitado para usar o mesmo contexto da aplicação principal para executar scripts.

Após a compilação, você pode acessar as chaves do contexto executando um script em outro arquivo que simplesmente importa o pacote de ambiente.

Esse padrão é muito mais conveniente do que ter que duplicar sua lógica para scripts pontuais.

Você deve iniciar manualmente a aplicação para garantir que o contexto seja populado.

Você também deve encerrar manualmente o processo, a menos que deseje ter um script que esteja em execução contínua.

O exemplo abaixo é um arquivo JavaScript simples em **scripts/seed.js** usado com [banco de dados MongoDB](/examples/como-usar-mongodb-com-nullstack) registrado no contexto:

```jsx
// Importe de .production em vez disso se você estiver executando em modo de produção.
const { default: context } = require('../.development/server.js');
const Faker = require('@faker-js/faker');

// registrar 5 usuários falsos
async function seed() {
await context.start();
const { database, project } = context;
for (let id = 0; id < 5; id++) {
await database.collection('users').insertOne({
id,
username: Faker.name.firstName()
});
}
console.log(`5 users seeded to ${project.name}`);
process.exit(0);
}

seed()
```

Para executá-lo, você pode simplesmente executá-lo como um comando node normal.

> 🔥 Você sempre deve executá-lo a partir da raiz para pegar o arquivo .env correto

```bash
> node scripts/seed.js
5 users seeded
```

Os script runners são ótimos para várias coisas como:
- Preencher um banco de dados em um ambiente específico
- Testar comportamentos do `contexto`
- Tarefas pontuais
- Tarefas agendadas (cron jobs)

E você não está limitado às opções acima, você pode ser criativo e usá-lo para coisas mais complexas, como observar eventos de blockchain ou tarefas que precisam ter acesso ao mesmo contexto da sua aplicação.
2 changes: 2 additions & 0 deletions i18n/pt-BR/components/Documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ topics:
href: "/pt-br/proxy"
- title: "Inicialização da aplicação"
href: "/pt-br/inicializacao-da-aplicacao"
- title: "Script Runner"
href: "/pt-br/script-runner"
- title: "Componentes Funcionais"
href: "/pt-br/componentes-funcionais"
- title: "Componentes Persistentes"
Expand Down