bin / www vs app.js中代码的约定

我自动生成了一个Node + Express项目。 它创build了一个不错的项目布局, binroutes/views/等等,当我启动bin/www时候,它运行良好。

但是,似乎有些武断地把app.js的“接线”的一半, bin/www一半。

特别是,“创build服务器和监听”位在bin/www 。 现在我想集成socket.io(需要访问server ),这意味着将更多的代码笨拙地转储到bin/www

将这个代码的大部分简单地移动到app.js ,并将bin/www作为一个仅需要app.js存根是不合理的? 我试图发现在Node中组织代码的惯用方式,不幸的是它似乎有点特别。

简短的回答:

构build快速应用程序没有惯用或普遍接受的方式。

稍微长一些的答案:

由Express生成的样板文件包含bin/www目录,但不是很常见。 因此,我认为重构您的应用程序是完全可以接受的,这样布局就不那么复杂了,或者更适合您的需求。

作为对此的支持,您可以看到, kraken和sails在其项目结构中都没有包含bin/www ,而是使用主app.js或类似的文件来组织“启动”function。 (当然,Sails和Kraken都在同名模块的引擎下做了很多其他的东西,但总的概念是成立的。)

MEAN样板也使用一个简单的server.js简单的方法。