Modificações de código de teste de aplicativo ao vivo não refletidas no front-end

Olá,

Vindo do desenvolvimento em joomla/wordpress, estou curioso sobre o funcionamento da modificação de arquivos de backend do discourse através do docker.
Li a documentação sobre como criar um plugin (How can I make my own Discourse plugins? - #2 by merefield), mas ainda não quero fazer isso, apenas quero poder testar o código ao vivo.

Em uma instalação MVC não dockerizada, ao fazer uma modificação em um arquivo via ftp, ela era instantaneamente refletida e, embora com o docker eu entenda a necessidade de reconstruir o aplicativo para aplicar modificações permanentes, e se você quiser testar as coisas ao vivo?

Modificações de código para teste ao vivo não parecem funcionar:

Por exemplo, quero desabilitar pesquisas para usuários anônimos, então editei:
/var/www/discourse/app/controllers/search_controller.rb adicionando “if current_user.present?” após “def show” com um “end” no final da função.

Fiquei surpreso que isso não teve efeito no front-end, e até mesmo renomear o controller para search_controllerold não teve efeito nas pesquisas.

Mas, de alguma forma, renomear uma imagem em /var/www/discourse/public/images# escondeu a imagem no front-end :)!

Alguém pode me dizer como as coisas funcionam aqui, existe outra versão em cache do sistema além do aplicativo que inicia a partir de sua imagem?

Obrigado

Ok, descobri que o código é modificado se eu modificar os arquivos em ./javascripts/discourse/node_modules/.embroider/rewritten-app/.
Parece melhor agora :slight_smile:

1 curtida

Isso parece mais um anti-padrão.

Isso provavelmente será substituído a cada build.

Veja o material em Documentation > Developer Guides e os inúmeros exemplos reais de código aberto para ver como modificar o front-end via Theme component e tanto o front quanto o back via #plugins

2 curtidas

Obrigado pelo compartilhamento! Vou verificar isso e talvez me envolver mais seriamente em algum momento, por enquanto, eu só queria testar modificações ao vivo e não entendo por que elas não aparecem no front-end tão facilmente quanto era com um ftp no joomla/wordpress.