【发布时间】:2016-04-07 01:04:45
【问题描述】:
所以我正在制作一个 Web 应用程序,我想知道我是否通过客户端 java 脚本 (Angular) 进行路由使我的应用程序更快。我的想法是,如果我要通过 Angular 进行路由,那么它将减少我的 Node 服务器上的 get 请求。我对整个完整堆栈的东西都很陌生。
【问题讨论】:
所以我正在制作一个 Web 应用程序,我想知道我是否通过客户端 java 脚本 (Angular) 进行路由使我的应用程序更快。我的想法是,如果我要通过 Angular 进行路由,那么它将减少我的 Node 服务器上的 get 请求。我对整个完整堆栈的东西都很陌生。
【问题讨论】:
是的,因为 Angular 创建 SPA(单页应用程序),即应用程序只会加载一次。这可以通过以下方式加速应用程序:
要减少多次获取请求,您可以
使用(Grunt 或 gulp)将所有 javascript 文件合并为一个文件,并将 css 合并为一个文件。
将所有 html、css 和 javascript 文件与 (Webpack) 合并到一个文件中。
但服务器端路由在性能方面会更加昂贵。
【讨论】:
我认为简短的回答是不一定。
无论您将路由逻辑放在客户端还是服务器端,在某些时候仍需要向客户端提供相同数量的文件。所以速度(我假设你的意思是加载时间)不会受到你决定在哪里放置路由逻辑的影响。
在服务器上,您至少需要一些“路由”逻辑来确定提供哪些文件,但我会将核心路由逻辑放在客户端,因为 Angular 具有专门为此构建的功能。
【讨论】: