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.
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. |
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.
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.
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'] ();
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:
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.
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. |
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