Angular Project和上下文根

时间:2018-10-10 13:33:21

标签: angular maven was

我已经将Angular 6项目构建为Maven项目并打包到WAR中。

因此,在部署项目时,服务器(WAS)将所有已编译的文件放入目标文件夹中。上下文根设置为target / MyApp。

当我尝试加载它时,我使用URL localhost:9080/target/MyApp/index.html,但是它抛出一个错误,表明它找不到runtime.jsindex.html中提到的其他js文件,尽管这些文件与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 :(得分:0)

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/