了解节点应用程序的正确结构

时间:2015-05-29 19:06:44

标签: node.js express

我正在努力弄清楚如何最好地构建我的应用程序。但是对于初学者来说,他们试图理解关于放置东西的典型做法,以及应用程序应该如何连接到server.js,server.js应该如何工作,以及如何为网站保持持久连接,以及任何后端服务或模块。

这是一个普遍的问题,但是让我尝试更具体,尽可能具体,因为我是Node的新手......以及从这个问题开始的基础。

让我说我计划设计一个简单的Express App。

到目前为止,我已经有了这种结构:

enter image description here

现在在 server.js 中,我正在尝试连接到mySQL数据库。所以我有一个我正在创建的连接池,一个调用商店来检索数据,当时需要我正在使用的node-mysql中间件等等。

app.js 只是有非常简单的代码,它不是模块化的,甚至是生产就绪,但这只是我玩代码,惹恼了一切。所以在其中我有一些典型的东西,如设置视图,var app = express();,从我的routes \ index.js中的另一个模块导入快速路由定义,这样的东西。

如果我打算保持数据库连接打开,或者其他事情打开,那么按照惯例最好地组织/完成了什么?

如果查看此示例代码,他将var app = express()定义移动到service.js:https://github.com/madhums/node-express-mongoose-demo/blob/master/server.js。他保持一个开放的连接运行并从那里开始,这是有意义的,因此“服务器”。

app.js应该做多少?什么是最佳实践或范围应该做什么。一旦我开始将各种模块化到他们自己的.js文件和节点模块中,app.js如何在所有这些重构中进行变形,这意味着最终它的作用是什么,并且它最终只是用于连接东西吗?

那么快递4现在要求的 www.js 应该是什么呢?

对我来说,从一个方面开始有点困难,所以我有点在上面的地方。我只是想知道在app.js和server.js中放置内容的常用约定,然后是保持和管理开放连接的最佳方式......在后端和前端都有,例如http请求进来,什么应该是中心点?路线当然然后app.js负责引用路线?

我找到了一些资源,例如this,但如果您知道任何或有任何意见,请寻求更多资源,请回复。我对app.js,server.js,connections,www.js的讨论更感兴趣,并且应该将这些特定的特定部分相互连接起来。我意识到剩下的由您决定如何命名文件夹等。

1 个答案:

答案 0 :(得分:0)

没有正确的方法,(可以说)没有错误的方法。有些人比其他人好,但有人可能会说他们不喜欢这种方式而你应该这样做,等等,直到你的项目超过截止日期。

在开发快速应用时,我经常会提到this blog post有关最佳做法的信息。

你也可以尝试yeoman generators之一。选择一个适合您的大部分/全部需求。

最重要的是,对于应用程序的最佳结构,遗憾的是仍然没有答案,我建议你选择最适合你(和你的团队)的东西并坚持下去。在开发和JavaScript社区时,一致性是最重要的,它明显缺乏它。