Angular Project и контекстный корень - PullRequest
0 голосов
/ 10 октября 2018

Я создал проект Angular 6 как проект Maven и упаковал его в WAR.

Поэтому, когда проект развертывается, сервер (WAS) помещает все скомпилированные файлы в целевую папку.Корневой контекст установлен на target / MyApp.

. Когда я пытаюсь загрузить его, я использую URL localhost:9080/target/MyApp/index.html, но выдает ошибку, сообщающую, что не может найти runtime.js и несколько других файлов js.упоминается в index.html, хотя эти файлы находятся в той же папке, что и index.html, т. е. target/MyApp/... Сервер фактически ищет эти файлы в корневой папке.

Итак, я могу получить доступ к этим файлам как localhost:9080/target/MyApp/runtime.js но сервер не смотрит в эту папку.Какие изменения я должен сделать, чтобы это работало?

Ниже мой скомпилированный index.html

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>My App</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
  <app-root>Loading...</app-root>
<script type="text/javascript" src="runtime.js"></script><script type="text/javascript" src="polyfills.js"></script><script type="text/javascript" src="styles.js"></script><script type="text/javascript" src="vendor.js"></script><script type="text/javascript" src="main.js"></script></body>
</html>

Я вижу ошибку GET http://localhost:9081/runtime.js net::ERR_ABORTED

1 Ответ

0 голосов
/ 10 октября 2018

Angular должен знать, что такое базовый URL.

Попробуйте изменить файл index.html так, чтобы <base href="/target/MyApp/"> указывал на текущий URL.

КакУпомянутый в комментариях, вы можете установить базовый URL через командную строку.

https://github.com/angular/angular-cli/wiki/build#base-tag-handling-in-indexhtml

# Sets base tag href to /myUrl/ in your index.html
ng build --base-href /myUrl/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...