【问题标题】:A Module in Angular (2+) should be an App by itself created with angular-cli?Angular (2+) 中的模块应该是一个使用 angular-cli 创建的应用程序?
【发布时间】:2017-06-08 19:23:53
【问题描述】:

我想将登录/注册工作流程分离到一个独立的模块中。到目前为止,我创建了模块 (ng g module login-module),我想将 Facebook 和 Google SDK 添加到其中。

问题是,主模块 (AppModule) 负责依赖项 (package.json),我也想隔离登录/注册工作流程的依赖项。

这意味着我的 LoginModule 本身应该是一个 Angular 应用程序(使用 ng new login-module 创建)?

【问题讨论】:

    标签: angular angular2-modules


    【解决方案1】:

    不,模块是一种将相互关联的元素(“功能单元”)组合在一起的方式。它们绝不是单独的应用程序,尽管良好的封装可以让您将模块转换为独立的应用程序。你可以阅读更多关于它的信息here

    【讨论】:

      【解决方案2】:

      在正常情况下,您不希望使用一个负责东西,另一个负责身份验证的应用程序(即 2 个网站)。 Stuff 仍然需要向身份验证发出请求,然后.. 为什么要分开呢?

      您还谈到了不同的事情。您想分离流程,并使用模块寻找正确的方向。

      但是,您的应用程序的其他部分可能需要检查某人是否经过身份验证并显示消息或不允许某些事情。

      所以继续创建处理与用户交互的模块(注册表单、登录表单)。这是正确的。

      然后使用 auth-service 来处理和存储当前状态。除了存储令牌之外,这还应该协调调用哪个方法(Google 登录或 FB 登录)

      在此处设置 John Papa 推荐的结构:https://angular.io/docs/ts/latest/guide/style-guide.htmlApplication structure and Angular modules 部分下

      使用 package.json 并在位置(auth-service)导入。将 auth-service 导出到核心模块并将此核心模块导入到应用程序模块和您需要功能的应用程序模块中那一个核心模块。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-01
        • 2018-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-20
        • 2017-01-12
        相关资源
        最近更新 更多