MEAN 堆栈:angular 路由与快速路由

MEAN stack: angular routing vs express routing

我已经开始在我的快速生成项目中使用 angular,我很喜欢它。最近我在我的一个测试项目中实现了 angular 路由,我想知道使用 angular 路由相对于纯 express/node 路由的优缺点是什么(例如,这是否存在技术问题方式,或者可能是 SEO,还是完全没有必要)。

仅供参考我的设置:我已经快速呈现主索引模板并将所有请求(全部)路由到主索引模板,然后我使用 angular 路由到部分模板来自主索引模板

他们正在解决两个不同的问题。 Angular 路由(ui-路由器)是客户端 - 加载正确的 ui- 视图。 Express 路由是服务器端的 - 您公开的 REST API。

平均堆栈 (mongo, express, angular) 你将在两端都有路由。

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

使用 express 的路由将主要用于 API,而 angular 中的路由将用于处理应用程序的前端。 Express 不会 return 除了 index.html 和您为 angular 编写的任何模板部分之外的任何 html,但是即使这样也可以通过直接编译所有模板来消除使用诸如 gulp/grunt.

之类的构建工具进入您的 js 文件

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