Angular 6, NGC, AOT, угловой маршрутизатор, router.ngfactory и SystemJS - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть простое угловое приложение, которое я пытаюсь скомпилировать с помощью AOT. Я НЕ использую угловой CLI . У меня есть собственный генератор, который поддерживает мой проект и поддерживает мои компоненты, сервисы и т. Д.

Все работает как положено до AOT. Когда я запускаю ngc для компиляции моего углового приложения, все компилируется без ошибок. Однако, когда я проверяю скомпилированные файлы ngfactory javascript, я вижу ссылку на @ angular / router / router.ngfactory из каталога node_modules. Кажется, я нигде не могу найти этот файл.

Моя конфигурация следующая:

  • Узел v.10.10.0
  • Угловой v.6.1.2
  • Машинопись v.3.1.1
  • SystemJS v 0.21.4
  • Глоток v.3.9.1

Я создал образец репо, чтобы повторить проблему.

Репо находится на SlyGenerator.DemoWithAOT

Чтобы нормально запустить приложение с JIT, выполните следующую команду "npm run start-dev"

Воспроизвести ошибку

  • Я запускаю "node_modules / .bin / ngc -p ./src/assets/ts/tsconfig.aot.json". Это создает папку "dist" на корневом уровне с файлами ngfactory.
  • Затем я копирую содержимое папки dist в ./app/assets/js/ (Это позволяет мне тестировать сгенерированный код без объединения или минимизации.
  • Затем я изменяю свой файл system.config.js, чтобы использовать файл Main.aot.js вместо файла Main.js. Файл System.config.js находится в .app / assets / config / system.config.js

В этот момент я получаю следующую ошибку:

SyntaxError: неожиданный токен <</p>

Я могу переключить файл system.config.js обратно на оригинал, и все снова работает нормально.

1 Ответ

0 голосов
/ 03 апреля 2019

После устранения неполадок для просмотра дней. Я обнаружил, что проблема связана с отсутствующим библиотечным / функциональным модулем.

IMO> ошибка обычно связана с отсутствующими файлами.

...