ExpressJS - Melhores Práticas
Diferente do Django e Rails que têm uma maneira definida de fazer as coisas, estrutura de arquivos, etc., o Express não segue uma maneira definida. Isso significa que você pode estruturar o aplicativo da maneira que desejar. Mas à medida que seu aplicativo cresce em tamanho, é muito difícil mantê-lo se ele não tiver uma estrutura bem definida. Neste capítulo, veremos as estruturas de diretório geralmente usadas e a separação de interesses para construir nossos aplicativos.
Primeiro, discutiremos as melhores práticas para a criação de aplicativos de nó e Express.
Sempre comece um projeto de nó usando npm init.
Sempre instale dependências com um --save ou --save-dev. Isso garantirá que, se você mudar para uma plataforma diferente, você possa apenas executar npm install para instalar todas as dependências.
Fique com nomes de arquivo em minúsculas e variáveis camelCase. Se você olhar para qualquer módulo npm, ele é nomeado em minúsculas e separado por travessões. Sempre que você precisar desses módulos, use camelCase.
Não envie node_modules para seus repositórios. Em vez disso, o npm instala tudo nas máquinas de desenvolvimento.
Use um config arquivo para armazenar variáveis
Agrupe e isole as rotas em seus próprios arquivos. Por exemplo, pegue as operações CRUD no exemplo de filmes que vimos na página da API REST.
Estrutura de Diretório
Vamos agora discutir a estrutura de diretórios do Express.
Sites
O Express não possui uma estrutura definida pela comunidade para a criação de aplicativos. A seguir está uma estrutura de projeto amplamente utilizada para um site.
test-project/
node_modules/
config/
db.js //Database connection and configuration
credentials.js //Passwords/API keys for external services used by your app
config.js //Other environment variables
models/ //For mongoose schemas
users.js
things.js
routes/ //All routes for different entities in different files
users.js
things.js
views/
index.pug
404.pug
...
public/ //All static content being served
images/
css/
javascript/
app.js
routes.js //Require all routes in this and then require this file in
app.js
package.json
Existem outras abordagens para construir sites com o Express também. Você pode construir um site usando o padrão de design MVC. Para obter mais informações, você pode visitar os links a seguir.
https://code.tutsplus.com/tutorials/build-a-complete-mvc-website-with-expressjs--net-34168
e,
https://www.terlici.com/2014/08/25/best-practices-express-structure.html.
APIs RESTful
APIs são mais simples de projetar; eles não precisam de um diretório público ou de visualizações. Use a seguinte estrutura para construir APIs -
test-project/
node_modules/
config/
db.js //Database connection and configuration
credentials.js //Passwords/API keys for external services used by your app
models/ //For mongoose schemas
users.js
things.js
routes/ //All routes for different entities in different files
users.js
things.js
app.js
routes.js //Require all routes in this and then require this file in
app.js
package.json
Você também pode usar um gerador de yeoman para obter uma estrutura semelhante.