如何在AngularJS项目中分离公共页面和私有页面?

如何在AngularJS项目中分离公共页面和私有页面?,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我正在开发一个web应用程序,它有一个用于登录的登录页面。但是,也有一个facebook共享页面的公共页面 如果用户想要进入面板,url为: 如果有人在Facebook上分享,我们会有一个公共页面,如: 我的问题是,这个应用程序有1个index.html,它包括css、js链接和ui路由器的ui视图。对于公共页面,将加载所有不必要的文件 在索引页中,我有: <div ng-if="isPublic()" ng-include="'views/public.base.html'">

我正在开发一个web应用程序,它有一个用于登录的登录页面。但是,也有一个facebook共享页面的公共页面

如果用户想要进入面板,url为:

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

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

在索引页中,我有:

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

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


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

我有一个包含公共/私有部分的站点,但我在资源方面采取了不同的方法。我没有将它们分开,因为这将需要做很多工作,相反,我这样做了:

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


    另外,您可以看到如何在中完成一些要点。

    我有一个包含公共/私有部分的站点,但我在资源方面采取了不同的方法。我没有将它们分开,因为这将需要做很多工作,相反,我这样做了:

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


    另外,您可以看到如何在中完成一些要点。

    如果您必须开发一个私有部分,请在另一个应用程序中使用有限的访问权限(在登录表单上进行身份验证,而不是在angularjs中,只有在您的凭据正确的情况下才会发送应用程序js和html)。例如,网站的管理必须分开,你必须避免捕获.js代码,否则任何人都可以解析代码以找到API的URI。如果你必须开发私有部分,请在另一个应用程序中使用有限的访问权限进行开发(登录表单上的身份验证不在angularjs中,它只在您的凭据正确的情况下发送应用程序js和html)。例如,网站的管理必须分开,您必须避免捕获.js代码,否则任何人都可以解析代码以查找API的URI。