Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Deploy da API (dist para produção)

Olá,

Finalizei toda a formação de Node.js com Express aprendi a gerar a API, utilizar Sequelize, ORM.

Consegui criar uma API funcional utilizando Node.Js e Postgress, porém não encontrei em nenhum momento da formação como colocar minha API em produção, pretendo utiliza-lá em um cliente, em uma arquitetura On-Premise, desta forma gostaria que meu código ficasse todo minificado.

Trabalho com Angular 2+, então teria algo como o ng build? , para gerar aquela pasta dist com minha versão de distribuição só que para Node.Js.

Bom, resumindo, precisaria saber como é feito na hora de botar tudo que aprendemos durante a formação para funcionar em um projeto real.

3 respostas

Fala, André! Tudo bem?

Algo como o ng build, ou seja, uma ferramenta nativa, que você executa e gera uma pasta minificada, não existe. Além disso, a natureza da minificação faz menos sentido no servidor.

Minificamos porque queremos poupar banda, e acelerar o tempo de acesso, isso no front-end. O Node roda no servidor, e apenas se comunica via requisições e respostas, então não há tráfego de arquivos JS.

De toda forma, pelo que eu vi, o Node tem sua própria forma de minificar arquivos, para melhorar a performance de funções. E você também pode dar uma olhada no pacote express-minify, mas desde 2017 não recebe atualizações e foi arquivado, portanto sugiro certa atenção. Também há a uglify-js, que exigiria algumas configurações a mais.

Não sei se isso resolve sua dúvida, mas acredito que por esse caminho você pode encontrar algo. Espero que ajude e qualquer coisa estou à disposição!

Olá Leonardo,

Entendi o conceito, realmente faz sentido quanto a minificação. Isso realmente explica porque quase não achei conteúdo nesta vasta internet para uma ferramenta tão utilizada quando o Node.Js sobre minificação.

Mas agora fica então realmente o X da questão, se vou colocar a minha solução desenvolvida no servidor do cliente, logo o mesmo terá total acesso ao código , de forma que não consigo evitar ou ao menos dificultar possíveis más práticas como plágio da solução. Existe alguma forma de proteger o meu código, ou para node.Js é assim mesmo e não há o que fazer?

solução!

André, pelo Node, nativamente, não há o que fazer.

Procurando sobre, encontrei outra recomendação para minificar o projeto, o node-minify. Mas, novamente, a minificação manual é a única forma de prevenção. Que, de toda forma, não garante que seu código não está exposto, pois é possível fazer engenharia reversa.

O problema da minificação é que você precisará gerenciar manualmente esse cenário, editando o código não-minificado, e provendo para o cliente o código minificado.

Esse cenário de on-premise dificulta esse tipo de segurança mesmo. De toda forma, com a minificação você não consegue evitar, mas consegue dificultar.