Обновлено Angular 9 до 9.1, появляется ошибка "Это выражение не вызывается" - PullRequest
0 голосов
/ 14 апреля 2020

В моем 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, ошибка исчезает.

1 Ответ

0 голосов
/ 14 апреля 2020

Мое решение состояло в том, чтобы изменить импорт на этот (v4 является самым популярным согласно документации uuid ):

import { v4 as uuid } from 'uuid';

Объяснение : я посмотрел в node_modules\@types\uuid\interfaces.d.ts и увидел, что были экспорты для разных версий (от v1 до v5). Поэтому после проверки документации я выбрал v4. Кажется, Angular 9.1 не нравится синтаксис import * в этом случае - пока не удалось определить причину.

...