将 Angular 9 更新到 9.1,出现错误 "This expression is not callable"

Updated Angular 9 to 9.1, getting error "This expression is not callable"

在我的 package.json 中,我将 Angular ^9.0.6 更新为 ^9.1.1

当我 运行 ng build 时,出现错误:

"This expression is not callable." ...@types/uuid/index has no call signatures

错误发生在我调用uuid()的那一行,看这里:

import * as uuid from 'uuid';

public getUuid(): string {
    return uuid();
}

我尝试了不同版本的 uuid ^3.4.0^7.0.3。当我降级 Angular 时,错误消失了。

我的解决方案是将导入更改为此(根据 uuid documentation,v4 是最受欢迎的):

import { v4 as uuid } from 'uuid';

说明:我查看了node_modules\@types\uuid\interfaces.d.ts,发现有针对不同版本(v1v5)的导出。所以在查看文档后我选择了 v4。 Angular 9.1 似乎不喜欢这种情况下的 import * 语法 - 尚未能够确定原因。