带节点的灰烬(MEEN堆栈?)

时间:2014-01-06 21:03:31

标签: node.js ember.js express mongoose

我已经在Rails平台上构建应用程序已有一年多了。话虽这么说,如果你可以对Rails进行任何比较,它可能会帮助所有相关方。只是一个想法。

无论如何,我正试图将我的头围绕在节点和前端框架上。我最初被MEAN stack的绊倒感到好奇。在深入研究之后,我意识到我并不是非常喜欢棱角分明,而是开始查找替代品。 Ember看起来非常棒,如果没有DOM的所有ng-标记,语法似乎更清晰。我想尝试使用mongoDB,我觉得这种方法会教会我很多。

我想,我的问题是快递。 Express使用Node时的作用是什么?似乎Ember(甚至是Angular,就此而言)有一个非常富有表现力的路由器。在我对这一切的有限理解中,我认为Express是针对路线的吗?我找到了this,这似乎是一堆MEEN。

MEAN的package.json是庞大的,但我联系的MEEN,非常小,只有快递,猫鼬和请求。我想,另一个问题是MEAN / MEEN堆栈中的不同角色是什么?那有意义吗?我有点乱,哈哈,但我希望继续研究和玩这些东西,直到我有'啊哈!'那一刻,你知道吗?

mongoose - 似乎是一种更好的与mongoDB交互的方式?

express - 特定于节点的路由?

请求 - 看起来很简单。将外部请求发送到Web上的其他页面。我无法看到MEAN中的等效包装是什么,这真的需要吗?

grunt - 运行一堆东西,以便所有不同的部分可以很好地协同工作?

非常感谢任何解释,链接或帮助。

1 个答案:

答案 0 :(得分:28)

如果您来自Rails我会将其分解为:

node.js - > Ruby - 您的服务器端语言/平台

快递 - > Rails - 你的服务器端框架,虽然有点像Sinatra

grunt - > Rake - 您的预处理器/构建工具

npm - > gem - 您的服务器端包管理器

Angular.js / Ember.js - >没有直接地图,您的客户端框架。

mongoose.js - > ActiveRecord,但是对于MongoDb。如果您想要SQL ORM,请使用 Sequelize

另外两个值得学习的工具是

凉亭 - >你的客户端包管理器,用于bootstrap

之类的东西

yeoman - >全方位的js app脚手架,将所有东西联系在一起,是一个很好的工具,可以看到如何搭建脚手架"最佳实践"应用。