Ошибка: нет поставщика ТОЛЬКО в режиме --prod - PullRequest
0 голосов
/ 26 апреля 2018

Я читал, что некоторые модули или службы, которые не предоставляются и т. Д., Могут вызывать эту проблему, но все, кажется, на месте.

Полная ошибка:

vendor.96643eaf6ee79e7b894d.bundle.js:1 ERROR Error: No provider for t!
at x (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at S (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at t._throwOrNull (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at t._getByKeyDefault (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at t._getByKey (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at t.get (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at ze (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at qe (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at Be (vendor.96643eaf6ee79e7b894d.bundle.js:1)
at ze (vendor.96643eaf6ee79e7b894d.bundle.js:1)
b @ vendor.96643eaf6ee79e7b894d.bundle.js:1

Любая помощь для успешного развертывания в производственном режиме была бы удивительной. Я не могу найти ошибку с такой маленькой информацией. Кто-нибудь знает способ расширить ошибку, чтобы получить что-то полезное для отладки?

РЕШЕНИЕ из комментариев Если добавление флага «--aot false» в службу ng не позволяет отображать ошибку, только добавление --aot отобразит соответствующую ошибку aot для включения отладки.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2018

Я хотел бы извлечь выгоду из того, что @LucaTaccagni сказал: перевод вашего приложения в производственный режим таким образом рядом с бесполезным .

Эта переменная используется Angular для определения производственного режима в вашем коде, но она не используется CLI.

Если вы хотите смоделировать реальную сборку на локальном устройстве, запустите эту команду

ng serve --prod --env dev

РЕДАКТИРОВАТЬ Если проблема в режиме AOT, вы можете сделать именно это

ng serve --aot

Это установит для многих флагов значение true (например, при компиляции AOT), хотя изменение только переменной не повлияет на вашу сборку.

Но, как он сказал, как только вы это сделаете, вы можете отлаживать.

0 голосов
/ 26 апреля 2018

в вашем файле environment.ts попробуйте изменить этот флаг:

 export const environment = {
          production: true, // should be false by default

, а затем попробуйте собрать снова в режиме разработки (ng serve должен работать). Теперь вы должны быть в состоянии отладить.

Ошибка, которую вы видите: t - это минимизированная переменная из минимизации, которую компилятор выполняет при создании проекта, необходимого для того, чтобы затенять ваш код для клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...