Estrutura de diretório
A estrutura de diretório do AdonisJs pode parecer esmagadora à primeira vista, pois há um punhado de diretórios pré-configurados.
Gradualmente, você entenderá o benefício de separar suas entidades em vários diretórios, mantendo seu código sustentável e fácil de pesquisar.
Uma instalação padrão do AdonisJs se parece com isso:
.
├── app/
├── ...
├── config/
├── app.js
├── auth.js
└── ...
├── database/
├── migrations/
├── seeds/
└── factory.js
├── public/
├── resources/
├── ...
└── views/
├── storage/
├── start/
├── app.js
├── kernel.js
└── routes.js
├── test/
├── ace
├── server.js
└── package.json
Diretórios raiz
app
O diretório app
é o lar da lógica do seu aplicativo.
Ele é carregado automaticamente sob o namespace App
.
config
O diretório config
é usado para definir a configuração do seu aplicativo.
O AdonisJs vem com vários arquivos de configuração, mas sinta-se à vontade para criar o seu próprio.
database
O diretório database
é usado para armazenar todos os arquivos relacionados ao banco de dados.
Leia mais sobre bancos de dados.
public
O diretório public
é usado para servir ativos estáticos por HTTP.
Este diretório é mapeado para a raiz do seu site:
<!-- o arquivo real é armazenado em /public/style.css -->
<link rel="stylesheet" href="/style.css" />
resources
O diretório resources
é usado para armazenar arquivos de apresentação para seu aplicativo, como modelos de visualização, arquivos LESS/SASS, JavaScript não compilado ou até mesmo imagens.
start
O diretório start
é usado para armazenar arquivos que são carregados na inicialização do seu aplicativo. Por padrão, você encontrará app.js
, kernel.js
e routes.js
.
test
O diretório test
é usado para armazenar todos os seus testes de aplicativo. O pacote testing não é incluído por padrão – você pode instalá-lo seguindo as instruções definidas link:testing[aqui].
Diretórios app
app/Commands
O diretório app/Commands
é usado para armazenar todos os seus comandos CLI. Este diretório é criado automaticamente quando você executa adonis make:command <name>
.
app/Controllers
O diretório app/Controllers
é usado para armazenar todos os seus controladores Http
e WebSocket
. Este diretório é criado automaticamente quando você executa adonis make:controller <name>
.
app/Exceptions
O diretório app/Exceptions
é usado para armazenar o manipulador de exceção global e todas as suas exceções personalizadas. Este diretório é criado automaticamente quando você executa adonis make:ehandler
ou adonis make:exception <name>
.
app/Listeners
O diretório app/Listeners
é usado para armazenar todos os ouvintes de eventos. Este diretório é criado automaticamente quando você executa adonis make:listener <name>
.
app/Middleware
O diretório app/Middleware
é usado para armazenar todos os seus middlewares. Este diretório é criado automaticamente quando você executa adonis make:middleware <nome>
.
app/Models
O diretório app/Models
é usado para armazenar todos os seus modelos. Este diretório é criado automaticamente quando você executa adonis make:model <nome>
.
app/Validators
O diretório app/Validators
é usado para armazenar todos os seus validadores de rota. Este diretório é criado automaticamente quando você executa adonis make:validator <nome>
(você precisa ter instalado o Validator Provider para usar este comando).