我自动生成了一个Node + Express项目。它使用bin
,routes/
,views/
等创建了一个漂亮的项目布局,并且在我启动bin/www
时运行正常。
但它似乎有些任意地将一半的'连线'放入app.js
而一半放入bin/www
。
特别是,“创建服务器和监听”位在bin/www
中。现在我想集成socket.io(需要访问server
),这意味着将更多代码转储到bin/www
中。
将此代码的大部分移至app.js
并将bin/www
保留为仅需要app.js
的存根,这是不合理的吗?我试图发现在Node中组织代码的惯用方法,不幸的是它似乎有点特别。
答案 0 :(得分:1)
简答:
构建Express应用程序没有惯用或普遍接受的方式。
答案稍长:
Express生成的样板包含bin/www
目录,但并不常见。因此,我认为重构您的应用程序是完全可以接受的,这样布局就不那么复杂了,或者更适合您的需求。
作为对此的支持,您可以看到kraken和sails在其项目结构中都不包含bin/www
,而是使用主app.js
或类似文件来组织& #39;启动'功能。 (当然,Sails和Kraken在他们的同名模块的引擎盖下做了很多其他的东西,但是一般概念都有。)
MEAN boilerplate也使用简单的方法server.js
。