我已经在Rails平台上构建应用程序已有一年多了.话虽这么说,如果你可以对Rails进行任何比较,它可能会帮助所有相关方.只是一个想法.
无论如何,我试图将我的头围绕节点和前端框架,ember.我最初对MEAN堆栈的绊脚石很感兴趣.在深入研究了一下之后,我意识到我并不是那么喜欢角度,并开始查找替代品.Ember看起来非常棒,如果没有ng-
DOM的所有标记,语法似乎更清晰.我想尝试使用mongoDB,我觉得这种方法会教会我很多东西.
我想,我的问题是快递.Express使用Node时的作用是什么?似乎Ember(甚至是Angular,就此而言)有一个非常富有表现力的路由器.在我对这一切的有限理解中,我认为Express是针对路线的吗?我发现了这个,似乎是一堆MEEN.
MEAN的package.json是庞大的,但我联系的MEEN,非常小,只有快递,猫鼬和请求.我想,另一个问题是MEAN/MEEN堆栈中的不同角色是什么?那有意义吗?我有点乱,哈哈,但我希望继续研究和玩这些东西,直到我有'啊哈!' 那一刻,你知道吗?
mongoose - 似乎是一种更好的与mongoDB交互的方式?
express - 特定于节点的路由?
请求 - 看起来很简单.将外部请求发送到Web上的其他页面.我无法看到MEAN中的等效包装是什么,这真的需要吗?
grunt - 运行一堆东西,以便所有不同的部分可以很好地协同工作?
非常感谢任何解释,链接或帮助.
如果你是来自Rails我会像这样分解:
node.js - > Ruby - 您的服务器端语言/平台
express - > Rails - 你的服务器端框架,虽然有点像Sinatra
grunt - > Rake - 您的预处理器/构建工具
npm - > gem - 您的服务器端包管理器
Angular.js/Ember.js - >没有直接映射,你的客户端框架.
mongoose.js - > ActiveRecord的,但MongoDB的.如果你想要一个SQL ORM使用Sequelize
另外两个值得学习的工具是
bower - >你的客户端包管理器,用于bootstrap之类的东西
yeoman - >全面的js app脚手架,将所有东西联系在一起,是一个很好的工具,可以看到如何搭建"最佳实践"应用程序.