Se você precisar criar sua própria estrutura JavaScript, como a estruturará?

Um novo projeto que acabei de criar se parece com isso, e estou gostando muito da flexibilidade e da velocidade de desenvolvimento que recebo dele. Ele aproveita os conceitos do design atômico, também aproveita o redux / react, mas não deixa o redux ficar muito fora de controle. Também incluí os serviços de back-end aqui para ilustrar como tudo se conecta.

  • node_modules
  • migrações
  • src
    • Processo interno
      • middleware
      • modelos
      • Serviços
      • routes.js
    • cliente
      • átomos (para pequenos componentes do tipo guia de estilo)
      • moléculas (para padrões de átomos dispostos juntos)
      • órgãosims (para componentes maiores e menos reutilizáveis, como cabeçalhos)
      • modelos (os componentes para páginas)
      • páginas (para componentes inteligentes, também conhecidos como contêineres e páginas estáticas)
      • estilos (opcional, existem muitas opções de estilo atualmente)
      • main.js (ponto de entrada da web, aproveita o routes.js)
      • routes.js (rotas compartilháveis ​​para o lado do cliente e do servidor)
      • ssr.js (permite a renderização no lado do servidor, aproveitando o route.js)
      • store.js (armazenamento de dados entre componentes / organismo, usa redux)
    • útil
      • db
      • intl
      • middleware
      • reduxMiddleware
      • teste
  • .eslintrc
  • .gitignore
  • knexfile.js
  • main.js
  • package.json
  • webpack.config.js
  • webpack.config.dev.js
  • yarn.lock

Nota: estou pensando em mesclar modelos e páginas no momento. Os modelos não são particularmente reutilizáveis ​​por si próprios.

Também estive pensando em lançar isso em um gerador de código e em código aberto. Eu acho que é o nível de abstração que todo mundo está procurando agora. Algo com renderização universal, é o mais leve possível, nem sempre usa a biblioteca mais recente / mais chamativa, personalizável, não faz com que você percorra 20 repos para fazer as coisas, permite um desenvolvimento extremamente rápido e ainda permite dividir as coisas em quantos serviços separados desejar.

Por favor não. Existem estruturas JS suficientes no mundo. Encontre um que atenda às suas necessidades e use-o. Se ele não atender a todas as suas necessidades, garfo e contribua para o desenvolvimento de código aberto.