bin / www vs app.js中代码的约定
我自动生成了一个Node + Express项目。 它创build了一个不错的项目布局, bin
, routes/
, 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
简单的方法。