无法使用Angular2 / Tomcat加载资源(JS文件)

时间:2017-03-27 09:01:21

标签: angular tomcat typescript

我正在尝试在Tomcat服务器上部署angular2 webapp。 使用ng build命令,我一直在创建一个dist文件夹并将该文件夹上传到我的Tomcat。

每当我运行webApp时,我都会收到以下错误消息:无法加载资源:服务器响应状态为404()

这些资源是我的.js文件,它们是由ng build命令创建的。 (例如:main.bundle.js)

感觉他错误地映射它们是因为他在8080 / main.bundle.js上搜索它们而不是8080 / contextpath / main.bundle.js

这是我的index.html:`

    <!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>DummyTitle</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
  <app-root></app-root>

<script type="text/javascript" src="inline.bundle.js"></script><script type="text/javascript" src="polyfills.bundle.js"></script><script type="text/javascript" src="scripts.bundle.js"></script><script type="text/javascript" src="styles.bundle.js"></script><script type="text/javascript" src="vendor.bundle.js"></script><script type="text/javascript" src="main.bundle.js"></script></body>
</html>

` - 编辑 - 我找到了解决方案,我只是对index.html中的基本href进行了加/减。现在它正确加载.js。

然而现在出现了一个新问题。我的网址立即发生了变化。 一旦我进入网站,8080 / dist /更改为8080 / dist / login?returnUrl =%2F。如果我刷新页面,这就成了一个问题,我得到了404。

- 编辑2-- 问题已解决,代码中的某处我有一行将查询参数添加到我的URL。删除了这个并且它有效。 :)现在一切正常。

1 个答案:

答案 0 :(得分:0)

感谢您的回答,我使用node.js / express遇到了同样的问题 虽然更改纠正了问题,但每次构建'my component时,生成的index.html都会返回初始/配置。 您是否知道我可以如何(或在哪里)更改此设置? 干杯 格雷格 serving @angular/cli component using express, path issue - 作为解决方法,我发现:ng build --base-href /trinity-app/dist

相关问题