2

TL;DR 问题: Angular 和 PageSpeed 是否完全兼容?我在任何地方都找不到这方面的任何信息。


我有一个使用 AngularJS 从外部网站加载图像的应用程序。这些图像通常很大(~500kb,~1200x900px),但在我的应用程序中以较低的分辨率(~800x500px)提供。我无法控制图像大小或压缩级别。

我已经注册了 Google PageSpeed 服务,并且一切正常运行。然而,这些图像并没有以任何方式被触及。我想知道这是否是因为我正在使用 AngularJS 来提供它们(尽管图像在 Angular 中,但我使用src="{{img}}"而不是提供图像ng-src)。

关于我可以做些什么来让它工作的任何想法?对我来说,这似乎是一项理想的服务,适当的图像压缩和缩放将使我的页面加载从 ~2mb 到 ~100kb!

有没有其他服务可以做类似的事情?在将图像提供给我的用户之前,我需要某种中间件来压缩和缩放图像。

编辑:为清楚起见,我的服务器使用 NodeJS/ExpressJS/AngularJS/MongoDB 在 Heroku 上运行。不知道这会不会影响什么。

4

1 回答 1

0

经过一番研究,PageSpeed 的工作原理似乎与 Google 搜索类似,因为它会为您的页面编制索引并查找要压缩的图像。鉴于 Angular 需要在加载页面之前加载脚本,这两者不能一起工作。

这里有一个可能的解决方案:

http://www.yearofmoo.com/2012/11/angularjs-and-seo.html

对我来说,这真的行不通,因为我有动态搜索页面,我不能用 PhantomJS 真正预渲染。但对其他人来说,这可能很有用。

如果这种情况发生变化,请在此处提醒我!

于 2013-07-26T05:37:57.797 回答