按需延迟加载 angular 个模块并获得许可
Lazy load angular modules on demand and with permission
以一家 SaaS 公司为例,它希望使用 Angular (1) 将其所有服务打包到一个单一的,呃……单页面应用程序中。现在有一个 public 区域(着陆页等)和一个内部区域。后端有多层保护。不同的用户组有不同的权限。
如果将完整的应用程序编译成单个 javascript 文件,则可以很容易地在 JS 文件中找到所有路径的提示。然后,有用于与 API 交互的服务/$resources,其中再次包含有关应用程序功能的非常重要的信息。
现在的问题是:有人如何将模块置于特定的非二进制保护级别,并且仅在用户被授权查看时加载该特定模块,而不重新加载页面?
我可以找到一种将模块延迟添加到 angular 应用程序的方法。我还可以保护服务器端的单个文件,只将它们发送给授权用户。但当用户群越来越多时,这似乎是一个无法扩展的麻烦。
您是否知道用于此目的的通用库,最好与 koa 同步,并且不会产生大量开销?你知道一些 grunt / gulp / 任何进程,这有助于吗?
谢谢!
您可以使用最新的 ui.router,它允许您延迟加载路由。
https://ui-router.github.io/ng1/docs/latest/interfaces/state.statedeclaration.html#lazyload
您还可以使用 web pack 并使用多个入口点来创建单独的包。 https://webpack.github.io/docs/multiple-entry-points.html
按照上述步骤您可以优化应用程序,但我认为这不会为网络资产增加任何保护。您可以缩小以使生活有点难以理解您的 JS 代码在做什么。
以一家 SaaS 公司为例,它希望使用 Angular (1) 将其所有服务打包到一个单一的,呃……单页面应用程序中。现在有一个 public 区域(着陆页等)和一个内部区域。后端有多层保护。不同的用户组有不同的权限。
如果将完整的应用程序编译成单个 javascript 文件,则可以很容易地在 JS 文件中找到所有路径的提示。然后,有用于与 API 交互的服务/$resources,其中再次包含有关应用程序功能的非常重要的信息。
现在的问题是:有人如何将模块置于特定的非二进制保护级别,并且仅在用户被授权查看时加载该特定模块,而不重新加载页面?
我可以找到一种将模块延迟添加到 angular 应用程序的方法。我还可以保护服务器端的单个文件,只将它们发送给授权用户。但当用户群越来越多时,这似乎是一个无法扩展的麻烦。
您是否知道用于此目的的通用库,最好与 koa 同步,并且不会产生大量开销?你知道一些 grunt / gulp / 任何进程,这有助于吗?
谢谢!
您可以使用最新的 ui.router,它允许您延迟加载路由。 https://ui-router.github.io/ng1/docs/latest/interfaces/state.statedeclaration.html#lazyload
您还可以使用 web pack 并使用多个入口点来创建单独的包。 https://webpack.github.io/docs/multiple-entry-points.html
按照上述步骤您可以优化应用程序,但我认为这不会为网络资产增加任何保护。您可以缩小以使生活有点难以理解您的 JS 代码在做什么。