firebase 如何将@angular/fire添加到Nx工作空间(Angular项目)?

bd1hkmkf  于 2022-11-30  发布在  Angular
关注(0)|答案(4)|浏览(169)

我想将**@angular/fire**添加到我的Nx工作区(angular应用程序)。
我试图保持与最佳实践一致,但是,官方文档中没有关于将此库添加到工作区的内容。
还是我错过了什么?

      • 安装**
  • 是否可以通过标准命令安装lib?
      • npm i@角/火**...或...ng添加@角/火
  • 是否有特定的"Nx安装方式"?
      • 布局与命名**

我应该在哪个模块中**调用initializeApp()**方法?

  • 在AppModule中?(这是我在采用Nx之前的做法)
  • 还是一个lib模块?(在我看来,这更接近于Nx的理念)
  • 如果答案是"lib模块"
  • 应该是哪个模块?
  • 我应该把库/模块放在哪里?我应该给它起什么名字?
  • "libs/data-access/api"是个好主意吗?
      • 使用API**
  • 如何使用已安装的软件包和初始化的模块(lib)?
  • 我应该将api库多次导入到每个需要该功能的库中吗?
  • 还是我只将api库一次导入到应用程序中?

如此严格地遵循最佳实践(命名约定等)可能看起来很愚蠢,但我确实希望以正确的方式做事。

bmp9r5qi

bmp9r5qi1#

首先你需要下载firebase
npm i@Angular /击发
并在角形项目中添加火盆
Angular /击发时的ng添加
现在在app. module. ts中导入firebase。

import { AngularFireModule } from '@angular/fire';  

@NgModule({  
  imports: [  

    AngularFireModule.initializeApp(environment.firebase)  
  ],  

})  

export class AppModule {}

现在你可以在Angular 项目中使用Firebase
官方文档链接
https://github.com/angular/angularfire

de90aj5v

de90aj5v2#

您可以直接使用npm install安装它。
我建议在app模块中初始化。应用程序的Nx理念是它们负责编写和配置库。当使用singleton(如Firebase、根路由器模块、ngrx存储初始化)时,在app模块中而不是在库中初始化尤其重要,这样你就不会意外地多次初始化singleton。
你应该能够直接从angularfire导入到你的库中。

relj7zay

relj7zay3#

以下步骤适用于我:

  • npx创建nx工作空间@15.1.1
  • npm i @Angular /击发
  • 射击基地注销
  • firebase登录
  • nx g @Angular /击发:ng-add

详情和图片可以在这里找到:
https://blog-host-d6b29.web.app/2022/11/27/nx-angular-fire.html

fnatzsnv

fnatzsnv4#

  1. You can install it with npm ( npm i @angular/fire ) and then run nx g @angular/fire:ng-add . Docs: https://nx.dev/latest/angular/getting-started/cli-overview#ng-add-functionality
    1.这应该是在您的应用程序的AppModule仍然。
    1.你可以在任何需要的地方导入软件包。AppModule需要导入软件包并设置应用程序,以便其他libs可以使用它。这与在应用程序和libs中使用@angular/router@ngrx/store没有什么不同。

相关问题