Angular 7 CLI, запущенный в моем проекте, ломает навигацию по подпутям, нужна помощь - PullRequest
2 голосов
/ 15 марта 2019

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

работает ng --version в моем проекте:

Angular CLI: 7.3.4
Node: 10.14.1
OS: darwin x64
Angular: 7.2.7

При запуске ng serve приложение загружает OK в браузере по адресу:

http://localhost:4200

При ручной загрузке пути в корневом каталоге загружается OK по адресу:

http://localhost:4200/page

При перемещении по ссылке в приложении на вспомогательный путь from a root path запущенного приложения, загружается OK по адресу:

http://localhost:4200/page/sub/path

Однако при попытке загрузить последующий подпуть любым из следующих способов:

• обновление существующего подпути в представлении в браузере

• попытка вручную ввести и загрузить URL-адрес в подпуть

• живая перезагрузка, запускаемая CLI при просмотре подпути

http://localhost:4200/page/sub/path

По ошибке приложение пытаетсязагрузить все файлы js относительно вложенного пути и, таким образом, не удается.Приложение пытается загрузить runtime.js здесь:

http://localhost:4200/page/sub/path/runtime.js

, когда оно должно быть загружено здесь:

http://localhost:4200/runtime.js

мой базовый href в настоящее время установлен на ./

Когда приложение запущено, я проверил источник html, и теги сценария отформатированы следующим образом:

<script type="text/javascript" src="runtime.js"></script>

Я не уверен, что могло нарушить этот проект.Генерация нового проекта работает без проблем.Я подозреваю, что возможно недавно npm update, но я не могу быть уверен, когда эта проблема началась.В моем коде также может быть непреднамеренно нарушена навигация.

Есть идеи, где или как начать устранение неполадок?

1 Ответ

1 голос
/ 20 марта 2019

Вы видите, что runtime.js загружается из подпути

http://localhost:4200/page/sub/path/runtime.js

похоже на проблему с относительной базовой href, попробуйте изменить ее на абсолютную

<base href="/">

...