【问题标题】:GAE Python Server initiating Angular Routes from ResponsesGAE Python 服务器从响应中启动 Angular 路由
【发布时间】:2013-09-08 15:29:42
【问题描述】:
我目前正在使用 AngularJS、Webapp2 和 Python Google App Engine 环境构建一个 Web 应用程序。这个应用程序应该具有现代社交网络的所有功能(用户、帖子、喜欢、cmets)。我希望页面层次结构看起来像这样,主页面来自服务器,子页面应该是角度路由:
索引
供稿页面
简介
设置
问题在于,当用户想要注册时,我希望他们能够转到 /signup 并获取加载了注册路线的索引页面。如何让服务器从响应中预加载角度路由
【问题讨论】:
标签:
python
google-app-engine
angularjs
routes
webapp2
【解决方案1】:
我在同一个堆栈上工作,我们这样做的方式是将主要页面(索引、登录、注册)配置为常规的单独页面,我们使用 Angular 而不使用路由。匿名用户将访问的任何页面都是通过服务器端路由工作的页面。但是一旦用户登录成功,我们就会提供一个页面,该页面将通过客户端路由开始提供其他视图。
【解决方案2】:
让 GAE 和 Angular 都了解您的路线。您需要为一个定义它们,为什么不同时定义它们呢?
您只需组织您的标记和结构,使其能够支持完整的页面加载和 ajax 加载。例如,初始加载由 GAE 在任何路由上完成,然后 Angular 可以接管,加载每个页面的“内容”。
这还有一个额外的优势,即公共页面是爬虫友好的,而真正的用户可以加载 ajax(一旦你扩展,这应该会减少带宽)。
您可能需要通过服务器加载用户状态,或者在登录或注销时强制重新加载页面。
我已经在几个应用程序上完成了上述操作,并且效果很好。