Node – Express + Ember + Socket MVC开发项目文件结构

所以我最近开始进入节点 ,并开始使用Express框架开展几个项目的工作。 我喜欢它 – 语法真的很吸引我,是一个互动的jQuery开发。

然而,就项目文件结构而言,我似乎无能为力,似乎也许是不成比例地膨胀了一些东西。

我在github上有一个基本的项目样板: https : //github.com/KingScooty/node-express-3.0-html5-boilerplate ,对我来说很好。

现在我正在考虑整合Ember.js 。 但是,我不知道如何构build目录。 我正在思考这个问题:

project ├── app │  ├── collections │  ├── models │  └── views ├── node_modules ├── public │  ├── css │  ├── img │  └── js ├── routes └── server ├── environment └── logs 

套接字IO设置进入服务器文件夹以及所有节点服务器configuration和环境configuration设置(开发/分段/生产)。 静态文件和jQuery公开,MVC应用程序善良进入应用程序文件夹。

但它不适合有一个公共文件夹从应用程序文件夹分开。 更何况我甚至会在MVC文件夹结构中包含各种JS文件。

(前端MVC开发是我所知甚less的东西,但这是我正在努力学习,同时也试图将其整合到我的节点环境)

如果有人能指点我前端MVC开发的正确道路,同时利用节点/socketsio动力后端,这将是邪恶的!

干杯。

-S

所以关于Express的事情就是它并没有在你的代码上强制执行任何types的结构。 这是一种混合的祝福。 对于像JSON API这样简单的东西来说,这非常棒,但是当你开始处理一个完整的MVC框架和UI的时候,它变得更加复杂。

以下文章可能会帮助你。

就个人而言,我会build议看看Geddy和Railwayjs (现在称为CompoundJS )。 这两者都试图为整个过程提供一些额外的结构。

您也可以在这里查看更广泛的选项列表 。

Sails.js是一个节点的MVC框架,它具有与快速路由一样的REST式路由Socket.io消息的独特区别。

它还捆绑了一个前端组件,Mast。 Mast提供与Meteor类似的function,因为它允许您直接与客户端的数据库交谈。 如果您需要提供更复杂的function,只需在后端添加一个控制器即可。

更多在这里: https : //github.com/balderdashy/sails