如何在AngularJS项目中分隔公共和私人页面?

时间:2016-02-05 09:28:51

标签: angularjs angular-ui-router

我正在开发一个网页应用,其中包含用于登录的登录页面。但是,例如,还有一个用于Facebook共享页面的公共页面。

如果用户想要进入面板,则网址为:

http://127.0.0.1:3000/#/shops/:id/

如果有人在Facebook上分享,我们会有一个公共页面,如:

http://127.0.0.1:3000/#/public/56af5229d0ae74e324c662f9

我的问题是,我有这个应用程序的1个index.html,它包括css,js链接和ui-router的ui-view。对于公共页面,将加载所有这些不必要的文件。

在索引页面中,我有:

<div ng-if="isPublic()" ng-include="'views/public.base.html'"></div>

另外,我无法控制页面的元标记。

在这种情况下如何处理页面分离?

1 个答案:

答案 0 :(得分:0)

我有一个公共/私人部分的网站,但我在资源方面采取了不同的方法。我没有将它们分开,因为它只是为了做很多工作,而是我这样做了:

  1. 缩小
  2. 捆绑
  3. 预压缩
  4. 使用哈希字符串
  5. 永久缓存
  6. 将所有html模板放入js包中
  7. 是的,这将使每个人都不需要加载的所有js / css,但您可以将其视为一个独立的应用程序:您必须下载整个可执行文件/软件包并安装它,但您不需要使用所有功能(例如想到Office)。如果您尽可能地优化所有内容,那么几个额外的千字节不会有任何差别,当用户登录到私有部分时,数据就已存在。

    P.S你可以看到如何在here中完成一些要点。