【发布时间】:2019-10-22 06:53:49
【问题描述】:
我有一个带有 2 个 Angular 8 应用程序的 monorepo,我正在尝试使用新的 deploy CLI 功能将其中一个部署到 firebase。因为我计划在这个项目中容纳几个应用程序,所以我想摆脱 src 文件夹中的一个,以便我所有的应用程序都位于 projects 文件夹下。
部署过程在 src/ 文件夹中的应用程序上运行良好,但在 projects/app 文件夹中的应用程序上失败。
如何重现:
ng new project
cd project
ng g application app
ng add @angular/fire
并将angular.json中的defaultProject设置为app,并根据https://github.com/angular/angularfire/issues/2088#issuecomment-529192788修复原理图
跑步
ng deploy
可以很好地构建应用程序(ng build --prod 也不会引发错误),但紧接着会出现以下错误:
C:\workspace\jdr\node_modules\rxjs\internal\util\hostReportError.js:4
setTimeout(function () { throw err; }); ^
TypeError: entry.message.split is not a function
at MapSubscriber.IndentLogger._observable._observable.pipe.operators_1.map.entry [as project] (C:\workspace\jdr\node_modules\@angular-devkit\core\src\logger\indent.js:34:58)
at MapSubscriber._next (C:\workspace\jdr\node_modules\rxjs\internal\operators\map.js:49:35)
at MapSubscriber.Subscriber.next (C:\workspace\jdr\node_modules\rxjs\internal\Subscriber.js:66:18)
at Subject.next (C:\workspace\jdr\node_modules\rxjs\internal\Subject.js:60:25)
at IndentLogger.next (C:\workspace\jdr\node_modules\@angular-devkit\core\src\logger\logger.js:79:23)
at SafeSubscriber.job.getChannel.subscribe.entry [as _next] (C:\workspace\jdr\node_modules\@angular-devkit\architect\src\schedule-by-name.js:46:16)
at SafeSubscriber.__tryOrUnsub (C:\workspace\jdr\node_modules\rxjs\internal\Subscriber.js:207:16)
at SafeSubscriber.next (C:\workspace\jdr\node_modules\rxjs\internal\Subscriber.js:145:22)
at Subscriber._next (C:\workspace\jdr\node_modules\rxjs\internal\Subscriber.js:89:26)
at Subscriber.next (C:\workspace\jdr\node_modules\rxjs\internal\Subscriber.js:66:18)
at MergeMapSubscriber.notifyNext (C:\workspace\jdr\node_modules\rxjs\internal\operators\mergeMap.js:92:26)
at InnerSubscriber._next (C:\workspace\jdr\node_modules\rxjs\internal\InnerSubscriber.js:28:21)
at InnerSubscriber.Subscriber.next (C:\workspace\jdr\node_modules\rxjs\internal\Subscriber.js:66:18)
at MapSubscriber._next (C:\workspace\jdr\node_modules\rxjs\internal\operators\map.js:55:26)
at MapSubscriber.Subscriber.next (C:\workspace\jdr\node_modules\rxjs\internal\Subscriber.js:66:18)
at FilterSubscriber._next (C:\workspace\jdr\node_modules\rxjs\internal\operators\filter.js:52:30)
环境:
Window 10
@angular: 8.2.10
@angular/fire: 5.2.1
@angular/cli: 8.3.9
rxjs: 6.4.0
【问题讨论】:
-
我想说也许你需要添加 rxjs compat 作为依赖。不太清楚为什么,但 nrwl monorepo 有一个类似的问题,这个问题已修复。不过,这来自您的 node_modules,因此您使用的库可能不兼容。以为我可能会有所启发,但我不确定。希望你能找到解决方法。
-
不,添加 rxjs-compat 没有帮助,但感谢您的建议。如果它是一个不兼容的库,那么构建本身也会失败。另外我添加的唯一库是@angular/fire。
标签: angular firebase deployment rxjs