Подтвердить что ты не робот

Модуль не найден: Ошибка: невозможно разрешить './$$_gendir/app/app.module.ngfactory'

Я получил эту ошибку ниже после обновления моего angular -cli

ERROR in Template parse errors:
Can't bind to 'index' since it isn't a known property of 'tag'. ("own)="handleKeydown($event, item)"
             (onTagEdited)="onTagEdited.emit(item)"
             [ERROR ->][index]="i"
             [attr.tabindex]="readonly ? -1 : 0"
             [class.readonly]="readonly""): [email protected]:13

ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'D:\xxxx\yyyy\eeeee\eeee\src'
 @ ./src/main.ts 5:0-74
 @ multi ./src/main.ts

Эта ошибка возникает, когда я запускаю ng build --prod и отлично работает, когда я запускаю ng build без каких-либо параметров,

4b9b3361

Ответ 1

Когда вы запустите ng build в angular 2, последний angular -cli автоматически запускается с параметром -aot (компиляция по времени), поэтому он пытается оптимизировать ваш код. У вас есть пакет, который еще не совместим для оптимизации. Поэтому вам нужно обновить свои пакеты. Скорее всего, пакеты с **forRoot()** в вашем приложении .module.ts

Я рекомендую обновлять все пакеты.

Простым способом обновления пакета является использование пакета ncu npm, как показано ниже, который я получил от Как правильно обновить angular 2 (npm) до последней версии?

Установить

npm install -g npm-check-updates

Использование

ncu для отображения

ncu -u для повторной записи вашего package.json

и запустите npm install для обновления пакетов

Если выше не работает, вам может потребоваться обновить код для соответствия требованиям. Для внесения изменений в свой код см. Этот url ниже.  https://medium.com/@isaacplmann/getting-your-angular-2-library-ready-for-aot-90d1347bcad

Ответ 2

У меня была такая же проблема, и я решил, что это было: Удалите модуль расширенного разрешения из node_modules, а затем запустите

npm install [email protected]

После этого сборки aot работают как ожидалось...

Ответ 3

Использование:

ng build --env=prod 

вместо:

ng build --prod

Ответ 4

Столкнулась со второй частью этой проблемы.

ERROR in ./src/main.ts
Can't resolve './$$_gendir/app/app.module.ngfactory'

Разрешил его, обновив angular/cli до 1.2.6 для angular 4

  • Удалить папку node_modules
  • Обновить "@ angular/cli": "1.0.4" до "@angular/cli": "1.2.6" в package.json под devDependencies
  • Запустить npm install

Затем выполнение "ng build -prod" успешно сгенерировало производственную сборку.