我在模态中使用AngularFireFunctions,它在开发中工作正常,但是现在我已经使用--prod标志进行了编译,我在下面得到了错误。
我确定这是由于angular.json文件中的““ optimization”:true“设置以及使用了模态导致的。如果将其设置为false,则可以正常工作,并且我还有另一个项目可以正常工作,但是我无法确定两者之间的区别。
我尝试使用所有内容的最新版本从头开始创建一个新的Angular 8项目,我遇到了完全相同的问题。
如果我从构造函数中删除“私有函数:AngularFireFunctions”,则没有错误。
这是错误:
ERROR Error: Uncaught (in promise): TypeError: StaticInjectorError[n -> t]:
Object(...)(...).functions is not a function
TypeError: StaticInjectorError[n -> t]:
Object(...)(...).functions is not a function
at functions.js:25
at e.invoke (zone.js:391)
at t.run (zone.js:150)
at t.runOutsideAngular (core.js:17258)
at new t (functions.js:23)
at core.js:21273
at Bc (core.js:21235)
at Vc (core.js:21199)
at t.get (core.js:21907)
at core.js:9141
at j (zone.js:831)
at zone.js:741
at a (tslib.es6.js:68)
at e.invoke (zone.js:391)
at Object.onInvoke (core.js:17299)
at e.invoke (zone.js:390)
at t.run (zone.js:150)
at zone.js:889
at e.invokeTask (zone.js:423)
at Object.onInvokeTask (core.js:17290)
这是模式代码:
export class ElementsComponent implements OnInit {
@Input() amount: number;
@Input() description: string;
@Input() hasDefaultSource: boolean;
@ViewChild('cardNumberElement') cardNumberElement: ElementRef;
@ViewChild('cardExpiryElement') cardExpiryElement: ElementRef;
@ViewChild('cardCvcElement') cardCvcElement: ElementRef;
useAsDefaultSource = true;
stripe; // : stripe.Stripe;
card;
cardNumber;
cardExpiry;
cardCvc;
cardNumberErrors;
cardExpiryErrors;
cardCvcErrors;
cardErrors;
confirmation;
constructor(private auth: AuthService,
private functions: AngularFireFunctions,
public modal: NgbActiveModal,
private spinner: NgxSpinnerService) {}
App.module.ts:
import { AngularFireFunctions } from '@angular/fire/functions';
...
providers: [
AngularFireFunctions,
...
答案 0 :(得分:0)
我的错误。应该是:
从'@ angular / fire / functions'导入{AngularFireFunctionsModule}; ... 进口:[ AngularFireFunctionsModule, ...