Conventions for app.js, index.js, and server.js in node.js? : <p>In node.js, it seems I run into the same 3 filenames to describe the main entry point to an app:</p>

<ul>
<li>When using the <code>express-generator</code> package, an <strong><code>app.js</code></strong> file is created as the main entry point for the resulting app.</li>
<li>When creating a new <code>package.json</code> file via <code>npm init</code>, one is prompted for the main entry point file. The default is given as <strong><code>index.js</code></strong>.</li>
<li>In some programs I have seen, <strong><code>server.js</code></strong> serves as the main entry point as well.</li>
</ul>

<p>Other times, still, it seems as though there are subtle differences in their usage. For example, this node app directory structure uses <code>index.js</code> and <code>server.js</code> in different contexts:</p>

<pre><code>app
  |- modules
  |    |- moduleA
  |    |    |- controllers
  |    |    |    |- controllerA.js
  |    |    |    +- controllerB.js
  |    |    |- services
  |    |    |    +- someService.js
  |    |    +- index.js &lt;--------------
  |    +- index.js &lt;-------------------
  |- middleware.js
  +- index.js &lt;------------------------
config
  +- index.js &lt;------------------------
web
  |- css
  |- js
server.js &lt;----------------------------
</code></pre>

<p>What are the differences, if any, between these three names?</p>
