-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #46 from expressots/feature/update-doc-pt-br
Feature/update doc pt br
- Loading branch information
Showing
31 changed files
with
1,626 additions
and
723 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
67 changes: 67 additions & 0 deletions
67
i18n/pt/docusaurus-plugin-content-docs/current/codebyexample/app-container.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
# Contêiner da Aplicação | ||
|
||
O contêiner da aplicação é um contêiner de injeção de dependências. Veja Contêiner da Aplicação para mais informações. | ||
|
||
```typescript | ||
const appContainer = new AppContainer(); | ||
|
||
export const container: Container = appContainer.create([ | ||
// Adicione seus módulos aqui | ||
AppModule, | ||
]); | ||
``` | ||
|
||
## Criando AppContainer | ||
|
||
A classe `AppContainer` aceita um parâmetro opcional: | ||
|
||
- `defaultScope` é o escopo de vinculação padrão. Use `BindingScopeEnum` para definir o escopo padrão (Request, Singleton, Transient). | ||
- `skipBaseClassChecks` é um valor booleano que indica se o contêiner deve pular as verificações de classe base. Isso é útil quando você está usando classes abstratas como identificadores de vinculação ou está estendendo classes de bibliotecas de terceiros. Defina este valor como `true` para pular as verificações de classe base. | ||
- `autoBindInjectable` é um valor booleano que indica se o contêiner deve vincular automaticamente classes injetáveis. Defina este valor como `true` para vincular automaticamente classes injetáveis. | ||
|
||
:::info | ||
O escopo padrão é BindingScopeEnum.Request e skipBaseClassChecks é false. | ||
::: | ||
|
||
```typescript | ||
const appContainer = new AppContainer({ | ||
defaultScope: BindingScopeEnum.Request, | ||
skipBaseClassChecks: true, | ||
autoBindInjectable: false, | ||
}); | ||
``` | ||
O `AppContainer` retorna uma instância de `AppContainer` que te dá acesso aos seguintes métodos: | ||
|
||
- `create()` cria o contêiner da aplicação. | ||
- Container é a instância do contêiner de injeção de dependências. | ||
- `getBindingDictionary()` retorna o mapa do dicionário de vinculação de classes injetadas no sistema de injeção de dependências. | ||
- `getContainerOptions()` retorna as opções do contêiner. | ||
|
||
### Método Create | ||
|
||
O método `create` recebe um parâmetro obrigatório (array de módulos); | ||
|
||
```typescript | ||
export const container: Container = appContainer.create([ | ||
// Adicione seus módulos aqui | ||
AppModule, | ||
UserModule, | ||
ProductModule, | ||
]); | ||
``` | ||
|
||
--- | ||
|
||
## Apoie o projeto | ||
|
||
ExpressoTS é um projeto de código aberto licenciado sob o MIT. É um projeto independente com desenvolvimento contínuo possibilitado graças ao seu suporte. Se você deseja ajudar, por favor considere: | ||
|
||
- Se tornar um **[Sponsor no GitHub](https://github.com/sponsors/expressots)** | ||
- Siga a **[organização](https://github.com/expressots)** no GitHub e de um Star ⭐ no projeto | ||
- Subscreva no nosso canal na Twitch: **[Richard Zampieri](https://www.twitch.tv/richardzampieri)** | ||
- Entre no nosso **[Discord](https://discord.com/invite/PyPJfGK)** | ||
- Contribua submetendo **[issues e pull requests](https://github.com/expressots/expressots/issues/new/choose)** | ||
- Compartilhe o projeto com seus amigos e colegas |
96 changes: 96 additions & 0 deletions
96
i18n/pt/docusaurus-plugin-content-docs/current/codebyexample/bootstrao.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
--- | ||
sidebar_position: 0 | ||
--- | ||
|
||
# Método Bootstrap | ||
|
||
O método `bootstrap` é o ponto de entrada da sua aplicação. É responsável por carregar a configuração da aplicação, registrar middlewares e iniciar a aplicação. | ||
|
||
- O método `AppFactory.create()` é responsável por criar a instância da aplicação. Ele recebe dois parâmetros: | ||
- `container` é o contêiner de injeção de dependências. Veja Contêiner da Aplicação para mais informações. | ||
- `middlewares` ou `App` | ||
- Retorna um instância de `IApplicationExpress` que te dá acesso a dois métodos: | ||
- `app.listen()` inicia a aplicação. | ||
- `app.setEngine()` define o motor de renderização de visualização da aplicação.` | ||
|
||
:::info | ||
**`middlewares`** é um array de middlewares que serão registrados na aplicação. (Template não opinativo) | ||
|
||
**`App`** é a classe da aplicação responsável por toda a configuração da aplicação. (Template opinativo) | ||
::: | ||
|
||
## Bootstrap com array de middlewares | ||
|
||
Use este método se você está usando o template não opinativo. Você tem a liberdade de criar sua própria classe de aplicação e registrar seus middlewares da sua própria maneira. | ||
|
||
```typescript | ||
async function bootstrap() { | ||
const app = await AppFactory.create(container, [cors(), helmet()]); | ||
await app.listen(3000, ServerEnvironment.Development); | ||
} | ||
|
||
bootstrap(); | ||
``` | ||
:::tip | ||
**`AppFactory.create(container, [])`** retorna uma instância de `ApplicationExpress` que te dá acesso direto à instância do `ExpressApp`. | ||
::: | ||
|
||
## Bootstrap com a classe de aplicação | ||
|
||
Use este método se você está usando o template opinativo. Sua classe de aplicação será responsável por toda a configuração da aplicação. | ||
|
||
```typescript | ||
async function bootstrap() { | ||
const app = await AppFactory.create(container, App); | ||
await app.listen(3000, ServerEnvironment.Development); | ||
} | ||
|
||
bootstrap(); | ||
``` | ||
:::tip | ||
**`AppFactory.create(container, App)`** retorna uma instância de `IApplicationExpress` que te dá acesso aos métodos `listen()` e `setEngine()`. | ||
::: | ||
|
||
## Método Listen | ||
|
||
O método `listen` é responsável por iniciar a aplicação. Ele recebe dois parâmetros obrigatórios e um parâmetro opcional: | ||
|
||
- `port` é o número da porta onde a aplicação estará ouvindo. (Obrigatório) | ||
- `environment` é o ambiente onde a aplicação estará rodando. Pode ser development ou production. Use o enum chamado `ServerEnvironment`. (Obrigatório) | ||
- `consoleMessage` é o objeto de mensagem que será exibido no console quando a aplicação iniciar. (Opcional) | ||
|
||
```typescript | ||
await app.listen(3000, ServerEnvironment.Development, { | ||
appName: "Expressots", | ||
appVersion: "1.0.0", | ||
}); | ||
``` | ||
|
||
:::tip | ||
O enum ServerEnvironment define automaticamente a variável de ambiente NODE_ENV. Pode ser `development` ou `production`. | ||
::: | ||
|
||
## Método Set Engine | ||
|
||
O método `setEngine` é responsável por definir o motor de renderização de visualização da aplicação. Por enquanto, o ExpressoTS suporta apenas Handlebars. | ||
|
||
```typescript | ||
app.setEngine<IHandlebars>({ | ||
extName: "hbs", | ||
viewPath: path.join(__dirname, "..", "views"), | ||
engine: engine({ defaultLayout: "layout", extname: "hbs" }), | ||
}); | ||
``` | ||
|
||
--- | ||
|
||
## Apoie o projeto | ||
|
||
ExpressoTS é um projeto de código aberto licenciado sob o MIT. É um projeto independente com desenvolvimento contínuo possibilitado graças ao seu suporte. Se você deseja ajudar, por favor considere: | ||
|
||
- Se tornar um **[Sponsor no GitHub](https://github.com/sponsors/expressots)** | ||
- Siga a **[organização](https://github.com/expressots)** no GitHub e de um Star ⭐ no projeto | ||
- Subscreva no nosso canal na Twitch: **[Richard Zampieri](https://www.twitch.tv/richardzampieri)** | ||
- Entre no nosso **[Discord](https://discord.com/invite/PyPJfGK)** | ||
- Contribua submetendo **[issues e pull requests](https://github.com/expressots/expressots/issues/new/choose)** | ||
- Compartilhe o projeto com seus amigos e colegas |
Oops, something went wrong.