Strapi - Static com JavaScript Inline
Disponibilizar arquivos pela raiz do Strapi com JavaScript embutido
Strapi é um headless CMS, em NodeJS com Koa, com grande facilidade de personalização, facilitando subir uma ferramenta e adequando para seu uso no decorrer do projeto
Embora não seja recomendando fazer uso da pasta public para disponibilizar conteúdo, no início do projeto pode ser de grande ajuda
Problema
Fazendo uso da versão do Stapi 4.1.7
, podemos colocar os arquivos estáticos na pasta public que serão entregues pelo sistema, lembrando não fazer uso de caminhos já usados como admin e api
Por conta das restrições de segurança informados pela propriedade Content-Security-Policy
no header da resposta do GET não podemos fazer uso de alguns recursos
Incluindo dentro dele comandos JavaScript com a tag <script>
podemos incorporar nas diretivas de segurança para liberar essa opção
Procedimento
Dentro do config/middlewares.js alterar a declaração do strapi::security
por
{
name: 'strapi::security',
config: {
contentSecurityPolicy: {
directives: {
'script-src': ["'self'", "'unsafe-inline'"],
},
}
},
},
Observando o self
que vai garantir que o sistema admin vai continuar funcionando com conta dos scripts do React ou outros que faça a chamada e unsafe-inline
para executar os scripts dentro da tag <script>