我想将**@angular/fire**添加到我的Nx工作区(angular应用程序)。
我试图保持与最佳实践一致,但是,官方文档中没有关于将此库添加到工作区的内容。
还是我错过了什么?
- 安装**
- 是否可以通过标准命令安装lib?
- npm i@角/火**...或...ng添加@角/火
- 是否有特定的"Nx安装方式"?
- 布局与命名**
我应该在哪个模块中**调用initializeApp()**方法?
- 在AppModule中?(这是我在采用Nx之前的做法)
- 还是一个lib模块?(在我看来,这更接近于Nx的理念)
- 如果答案是"lib模块"
- 应该是哪个模块?
- 我应该把库/模块放在哪里?我应该给它起什么名字?
- "libs/data-access/api"是个好主意吗?
- 使用API**
- 如何使用已安装的软件包和初始化的模块(lib)?
- 我应该将api库多次导入到每个需要该功能的库中吗?
- 还是我只将api库一次导入到应用程序中?
如此严格地遵循最佳实践(命名约定等)可能看起来很愚蠢,但我确实希望以正确的方式做事。
4条答案
按热度按时间bmp9r5qi1#
首先你需要下载firebase
npm i@Angular /击发
并在角形项目中添加火盆
Angular /击发时的ng添加
现在在app. module. ts中导入firebase。
现在你可以在Angular 项目中使用Firebase
官方文档链接
https://github.com/angular/angularfire
de90aj5v2#
您可以直接使用npm install安装它。
我建议在app模块中初始化。应用程序的Nx理念是它们负责编写和配置库。当使用singleton(如Firebase、根路由器模块、ngrx存储初始化)时,在app模块中而不是在库中初始化尤其重要,这样你就不会意外地多次初始化singleton。
你应该能够直接从angularfire导入到你的库中。
relj7zay3#
以下步骤适用于我:
详情和图片可以在这里找到:
https://blog-host-d6b29.web.app/2022/11/27/nx-angular-fire.html
fnatzsnv4#
npm i @angular/fire
) and then runnx g @angular/fire:ng-add
. Docs: https://nx.dev/latest/angular/getting-started/cli-overview#ng-add-functionality1.这应该是在您的应用程序的
AppModule
仍然。1.你可以在任何需要的地方导入软件包。
AppModule
需要导入软件包并设置应用程序,以便其他libs可以使用它。这与在应用程序和libs中使用@angular/router
或@ngrx/store
没有什么不同。