MEAN堆栈:角度路由与快速路由

时间:2015-02-11 16:55:17

标签: angularjs express routing mean-stack angular-routing

我已经开始在快速生成的项目中使用角度,并且我非常喜欢它。最近我在我的一个测试项目中实现了角度路由,并且我想知道在纯快速/节点路由上使用角度路由有什么优缺点(例如,这种方式存在技术问题,或者SEO,或者是完全没必要)。

我的设置上的FYI:我已经表达了渲染主索引模板以及将所有请求(一个全部捕获)路由到主索引模板,然后我使用angular来路由到main中的部分模板索引模板

2 个答案:

答案 0 :(得分:29)

使用平均堆栈(mongo,express,angular),您将在两端进行路由。

Express将为您的静态index.html和css / js / images以及您的api提供服务,而angular将与api交互以从mongo获取数据。

使用express的路由将主要针对API进行,并且将以角度进行路由以处理应用程序的前端。 Express不会返回除index.html之外的任何html以及你为angular编写的任何模板部分,但是即使可以通过使用诸如gulp / grunt之类的构建工具将所有模板直接编译到js文件中来消除


当然可以100%地转向一方或另一方,但是,这是不切实际的,因为你最终会无效地使用一方或另一方。例如,如果您在每个单独的页面上使用快速和使用的角度进行了所有路由,那么您将忽略所有单页应用程序功能和angularjs的路由,只留下它的目的是构建可能的页面使用express和jade(或任何其他模板引擎)可能会更有效地完成。不可能朝另一个方向前进并使用angular进行所有路由,因为angular需要api来获取数据,除非你在html中包含了内嵌的所有数据,我相信你会同意这是一个坏主意。 (它在那时也消除了mongo ..)

答案 1 :(得分:5)

他们正在解决两个不同的问题。角度路由(ui-router)是客户端 - 加载正确的ui-views。快速路由是服务器端 - 您正在公开的REST API。