Configurações Strapi
Configuracoes-Strapiblog_image_banner

Configurações Strapi


As principais configurações do projeto estão localizadas no diretório ./config. Configurações adicionais podem ser adicionadas na pasta ./api/**/config de cada API e plug-in, criando arquivos JavaScript ou JSON.


DICA

 Dentro da pasta / config, todas as pastas serão analisadas e injetadas no objeto global

strapi.config. Digamos que você adicionou uma pasta chamada credenciais com dois arquivos

stripe.json e paypal.json. O conteúdo desses arquivos será acessível através de

strapi.config.credentials.stripe e strapi.config.credentials.paypal.

Application


Contém as principais configurações relativas ao seu projeto.

Atalho - ./config/application.json.




  • favicon

  • path (string): caminho para o arquivo favicon. Valor padrão: favicon.ico.

  • maxAge (número inteiro): diretiva de idade máxima do controle de cache em ms.

  • Valor padrão: 86400000.

  • público

  • path (string): caminho para a pasta pública. Valor padrão: ./public.

  • maxAge (número inteiro): diretiva de idade máxima do controle de cache em ms.

  • Valor padrão: 60000.

Personalizado

Adicione configurações personalizadas ao projeto. O conteúdo deste arquivo está disponível no object strapi.config.

Exemplo

Atalho - ./config/custom.json.




Essas configurações são acessíveis através de strapi.config.backendURL e strapi.config.mainColor.


Funções

A pasta ./config/functions/ contém um conjunto de arquivos JavaScript para adicionar configurações dinâmicas e lógicas.

Todas as funções expostas nesta pasta ou na sua pasta ./config são acessíveis através de

strapi.config.functions ['fileName'] ();


Bootstrap

Atalho - ./config/functions/bootstrap.js.

A função de Bootstrap é chamada a cada inicialização do servidor. Você pode usá-lo para adicionar uma lógica específica neste momento do ciclo de vida do seu servidor.

Aqui estão alguns casos de uso:


  • Crie um usuário administrador se não houver um.

  • Preencha o banco de dados com alguns dados necessários.

  • Verifique se o banco de dados está em funcionamento.

  • Carregue algumas variáveis de ambiente.


A função de Bootstrap pode ser síncrona ou assíncrona:


Synchronous:




Return a promise:



Be async:






Tarefas CRON


As tarefas CRON permitem agendar trabalhos (funções arbitrárias) para execução em datas


específicas, com regras de recorrência opcionais. Ele usa apenas um temporizador para qualquer horário dado (em vez de reavaliar os próximos trabalhos a cada segundo / minuto).

Esse recurso é desenvolvido por node-schedule node modules. Verifique para mais informações.


*DICA

Verifique se a configuração do cron ativada está definida como true no arquivo

./config/environments/**/server.json.

O formato cron consiste em:



Para definir um trabalho CRON, adicione sua lógica como abaixo:

Caminho - ./config/functions/cron.js.



Customização do ORM do Database


  • Atalhos - ./config/functions/bookshelf.js.

  • Atalhos - ./config/functions/mongoose.js.


Quando presentes, eles são carregados para permitir que você personalize sua instância de conexão com o banco de dados, por exemplo, para adicionar algum plug-in, personalizar parâmetros, etc.

Mongoose Como exemplo, para usar o plugin mongoose-simple-random para MongoDB, você pode registrá-lo assim:

Atalhos - ./config/functions/mongoose.js.




Bookshelf

Outro exemplo seria usar o plugin bookshelf-uuid para MySQL, você pode registrá-lo assim:

Atalhos - ./config/functions/bookshelf.js.




Ambientes

A maioria das configurações do aplicativo é definida pelo ambiente. Isso significa que você pode especificar configurações para cada ambiente (desenvolvimento, produção, teste, etc.).



DICA

Você pode acessar a configuração do ambiente atual através de: 

strapi.config.currentEnvironment.




Database

Atalhos- ./config/environments/**/database.json.


Bookshelf


• defaultConnection (string): conexão por padrão para modelos que não estão

relacionados a uma conexão específica. Valor padrão: padrão.

• conexões Lista de todas as conexões disponíveis.

• padrão

• connector (string): Conector usado pela conexão atual. Será estante.

• configurações Útil para armazenamentos de sessões externas, como Redis.

• client (string): cliente de banco de dados para criar a conexão. sqlite ou postgres ou

mysql.

• host (string): nome do host do banco de dados. Valor padrão: localhost.

• porta (inteiro): porta do banco de dados.

• database (string): Nome do banco de dados.

• nome de usuário (string): nome de usuário usado para estabelecer a conexão.

• password (string): Senha usada para estabelecer a conexão.

• options (object): Lista de opções adicionais usadas pelo conector.

• fuso horário (string): define o comportamento padrão para a hora local. Valor padrão:

utc Opções de fuso horário.

• esquema (sequência): defina o esquema do banco de dados padrão.

Usado apenas para o Postgres DB

• ssl (booleano): para conexão com o banco de dados ssl.

• opções Opções usadas para conexão com o banco de dados.

• debug (boolean): mostra trocas e erros de banco de dados.

• autoMigration (boolean): Para desativar a criação automática de tabelas / colunas para

o banco de dados SQL.

• pool Opções usadas para o pool de conexão com o banco de dados. Para obter mais

informações, consulte a documentação de configuração de pool do Knex.

• min (número inteiro): número mínimo de conexões para manter no pool. Valor padrão:

0.

• max (número inteiro): número máximo de conexões a serem mantidas no pool. Valor

padrão: 10.

• adquirirTimeoutMillis (número inteiro): tempo máximo em milissegundos para aguardar

a aquisição de uma conexão do pool. Valor padrão: 2000 (2 segundos).

• createTimeoutMillis (número inteiro): tempo máximo em milissegundos para aguardar a

criação de uma conexão a ser adicionada ao conjunto. Valor padrão: 2000 (2 segundos).

• idleTimeoutMillis (número inteiro): número de milissegundos a aguardar antes de

destruir as conexões inativas. Valor padrão: 30000 (30 segundos).

• reapIntervalMillis (número inteiro): com que frequência verificar conexões inativas em

milissegundos. Valor padrão: 1000 (1 segundo).

• createRetryIntervalMillis (número inteiro): quanto tempo fica ocioso após uma falha na

criação antes de tentar novamente em milissegundos. Valor padrão: 200.


Mongoose


• defaultConnection (string): conexão por padrão para modelos que não estão

relacionados a uma conexão específica. Valor padrão: padrão.

• conexões Lista de todas as conexões disponíveis.

• padrão

• connector (string): Conector usado pela conexão atual. Será mangusto.

• configurações Útil para armazenamentos de sessões externas, como Redis.

• client (string): cliente de banco de dados para criar a conexão. Será mongo.

• host (string): nome do host do banco de dados. Valor padrão: localhost.

• porta (inteiro): porta do banco de dados. Valor padrão: 27017.

• database (string): Nome do banco de dados.

• nome de usuário (string): nome de usuário usado para estabelecer a conexão.

• password (string): Senha usada para estabelecer a conexão.

• opções Opções usadas para conexão com o banco de dados.

• ssl (booleano): para conexão com o banco de dados ssl.

• debug (boolean): mostra trocas e erros de banco de dados.

• authenticationDatabase (string): Conecte-se à autenticação.

Exemplo


Atalhos - ./config/environments/**/database.json.


Postgres:





MySQL



SQLite



Mongo




*DICA

Consulte a seção de configurações dinâmicas para usar a variável de ambiente global para configurar os bancos de dados.


*DICA

Dê uma olhada no guia do Database para obter mais detalhes.


Solicitação

Caminho - ./config/environments/**/request.json.

• sessão

• enabled (booleano): ativa ou desativa as sessões. Valor padrão: false.

• client (string): cliente usado para persistir sessões. Valor padrão: redis.

• configurações

• host (string): nome do host do cliente. Valor padrão: localhost.

• porta (inteiro): porta do cliente. Valor padrão: 6379.

• database (integer) | String - Nome do banco de dados do cliente. Valor padrão: 10.

• password (string): senha do cliente. Valor padrão: ``.

• logger

• level (string): nível de log padrão. Valor padrão: depuração.

• exposeInContext (booleano): exponha o criador de logs no contexto para que ele possa

ser usado através do strapi.log.info ("meu log"). Valor padrão: true.

• pedidos (booleano): ative ou desative os logs de pedidos. Valor padrão: false.

• analisador

• enabled (booleano): ativa ou desativa o analisador. Valor padrão: true.

• multipart (boolean): ative ou desative a análise de corpos multipartes. Valor padrão:

true.


* DICA

A sessão não funciona com o mongo como cliente. O pacote que devemos usar está quebrado por enquanto.


Resposta


Atalho - ./config/environments/**/response.json.

• gzip

• enabled (boolean): ativa ou não a compactação de resposta GZIP.

• tempo de resposta

• enabled (boolean): ative ou não o cabeçalho X-Response-Time na resposta. Valor

padrão: false.

• distribuído por

• enabled (boolean): ative ou não o cabeçalho X-Powered-By na resposta. Valor padrão:

true.

• value (string): o valor do cabeçalho. Valor padrão: Strapi <strapi.io>


Segurança


Atalho - ./config/environments/**/security.json.

• csp

• enabled (boolean): ative ou desative o CSP para evitar ataques de script de site cruzado

(XSS) e injeção de dados.

• p3p

• enabled (boolean): ative ou desative o p3p.

• hsts

• enabled (booleano): ativa ou desativa o HSTS.

• maxAge (número inteiro): número de segundos em que o HSTS está em vigor. Valor

padrão: 31536000.

• includeSubDomains (boolean): aplica o HSTS a todos os subdomínios do host. Valor

padrão: true.

• xframe

• enabled (boolean): ative ou desative os cabeçalhos X-FRAME-OPTIONS em resposta.

• value (string): o valor do cabeçalho, por exemplo NEGAR, SAMEORIGIN ou PERMITIR

uri. Valor padrão: SAMEORIGIN.

• xss

• enabled (booleano): ative ou desative o XSS para impedir ataques XSS (Cross Site

Scripting) em navegadores IE mais antigos (IE8).

• cors

• enabled (booleano): ative ou desative o CORS para impedir que seu servidor seja

solicitado em outro domínio.

• origem (sequência): URLs permitidos (http://example1.com, http://example2.com ou

permite a todos *). Valor padrão: http: // localhost.

• expor (matriz): configura o cabeçalho CORS do Access-Control-Expose-Headers. Se

não especificado, nenhum cabeçalho personalizado será exposto. Valor padrão:

["WWW-Authenticate", "Server-Authorization"].


• maxAge (número inteiro): configura o cabeçalho CORS do Access-Control-Max-Age.

Valor padrão: 31536000.

• credenciais (booleano): configura o cabeçalho CORS de controle de acesso e

permissão de credenciais. Valor padrão: true.


• métodos (matriz) | String - Configura o cabeçalho CORS do Access-Control-Allow-

Methods. Valor padrão: ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS",


"HEAD"].

• headers (array): configura o cabeçalho CORS do Access-Control-Allow-Headers. Se

não especificado, o padrão é refletir os cabeçalhos especificados no cabeçalho da

solicitação de Controle de Acesso-Controle-Solicitação. Valor padrão: ["Tipo de

Conteúdo", "Autorização", "Opções de Quadro X"].

• ip

• enabled (booleano): ativa ou desativa o bloqueador de IP. Valor padrão: false.

• whiteList (matriz): IPs na lista de permissões. Valor padrão: [].

• blackList (array): IPs na lista negra. Valor padrão: [].

Servidor

Atalho - ./config/environments/**/server.json.

• host (string): nome do host. Valor padrão: localhost.

• porta (inteiro): porta na qual o servidor deve estar em execução. Valor padrão: 1337.

• emitErrors (booleano): habilite erros a serem emitidos para koa quando ocorrerem para

anexar lógica personalizada ou usar serviços de relatório de erros.

• procuração

• enabled (boolean): ative o suporte a proxy, como Apache ou Nginx. Valor padrão: false.

• ssl (booleano): ative o suporte a proxy SSL

• host (string): nome do host que o serviço proxy usa para o Strapi.

• porta (inteiro): porta na qual seu serviço proxy aceita conexões.

• cron

• enabled (boolean): ative ou desative tarefas CRON para agendar trabalhos em datas

específicas. Valor padrão: false.

• admin

• autoOpen (booleano): ativa ou desativa a abertura da administração no início (padrão:

true)

• path (string): permite alterar o URL para acessar o administrador (padrão: / admin).

• watchIgnoreFiles (array): adicione arquivos personalizados que não devem ser

observados durante o desenvolvimento. Veja mais aqui (propriedade ignorada). Valor

padrão: []

• Construir

• backend (string): URL que o painel de administração e os plug-ins solicitarão (padrão:

http: // localhost: 1337).

Exemplo

Atalho - ./config/environments/**/server.json.

Como exemplo, usando esta configuração com o Nginx, seu servidor responderia a

https://example.com:8443 em vez de http: // localhost: 1337

Nota: você precisará configurar o Nginx ou Apache como um proxy antes de configurar este exemplo.



Configurações dinâmicas


Por motivos de segurança, às vezes é melhor definir variáveis através do ambiente do servidor.

Também é útil inserir valores de dinâmica em arquivos de configurações. Para ativar esse recurso em arquivos JSON, Strapi adota um interpretador de arquivo JSON em seu núcleo para permitir valor dinâmico nos arquivos de configuração JSON.


Sintaxe


A sintaxe é inspirada nas especificações do literal do modelo ES2015. Esses valores dinâmicos são indicados pelo cifrão e chaves ($ {expression}).


Uso


Em qualquer arquivo de configuração JSON do seu projeto, é possível injetar valores dinâmicos como este:

Atalho - ./config/environments/production/database.json.


*DICA

Você não pode executar funções dentro das chaves. Somente strings são permitidas.


Configuração em database


Os arquivos de configuração não são compatíveis com vários servidores. Por isso, criamos um armazenamento de dados para a configuração que você deseja atualizar na produção. Obter configurações

• environment (string): define o ambiente em que você deseja armazenar os dados. Por

padrão, é o ambiente atual (pode ser uma string vazia se a sua configuração for

independente do ambiente).

• type (string): define se a sua configuração é para uma API, plug-in ou núcleo. Por

padrão, é essencial.

• name (string): você deve definir o nome do plugin ou da API, se o tipo for API ou plugin.

• chave (sequência obrigatória): o nome da chave que você deseja armazenar.




Definir configurações



ENTRE EM CONTATO COM A LOJAMUNDI.

Assine nossa Newsletter! É gratuito!

Cadastre seu nome e email para receber novidades e materiais gratuitos da Lojamundi.