Convenções para app.js, index.js e server.js em node.js?

No node.js, parece que eu tenho os mesmos três nomes de arquivos para descrever o principal ponto de entrada de um aplicativo:

Ao usar oexpress-generator pacote, umapp.js O arquivo é criado como o principal ponto de entrada do aplicativo resultante.Ao criar um novopackage.json arquivo vianpm init, um é solicitado para o arquivo do ponto de entrada principal. O padrão é dado comoindex.js.Em alguns programas que eu já vi,server.js serve como o principal ponto de entrada também.

Outras vezes, ainda assim, parece que existem diferenças sutis em seu uso. Por exemplo, essa estrutura de diretório de aplicativos do nó usaindex.js eserver.js em diferentes contextos:

app
  |- modules
  |    |- moduleA
  |    |    |- controllers
  |    |    |    |- controllerA.js
  |    |    |    +- controllerB.js
  |    |    |- services
  |    |    |    +- someService.js
  |    |    +- index.js <--------------
  |    +- index.js <-------------------
  |- middleware.js
  +- index.js <------------------------
config
  +- index.js <------------------------
web
  |- css
  |- js
server.js <----------------------------

Quais são as diferenças, se houver, entre esses três nomes?

questionAnswers(4)

yourAnswerToTheQuestion