【发布时间】:2017-03-27 09:01:21
【问题描述】:
我正在尝试在 Tomcat 服务器上部署我的 angular2 webapp。
使用ng buildcommand,我一直在创建一个 dist 文件夹并将该文件夹上传到我的 Tomcat。
每当我运行我的 webApp 时,我都会收到以下错误消息:加载资源失败:服务器响应状态为 404 ()
这些资源是由 ng build 命令创建的我的 .js 文件。 (例如: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>
` - 编辑 - 我找到了解决方案,我刚刚将 /dist 添加到 index.html 中的基本 href 中。现在它可以正确加载到 .js 中了。
但是现在有一个新问题。我的 URL 立即更改。 所以一进入网站,8080/dist/就变成了8080/dist/login?returnUrl=%2F。如果我刷新页面,这将成为一个问题,我得到 404。
--编辑 2-- 问题已解决,在代码中的某处我有一行将查询参数添加到我的 URL。删除了这个并且它起作用了。 :) 现在一切正常。
【问题讨论】:
-
如果您有修复,可以将其作为答案发布,以便其他人可以关注/学习。
标签: angular tomcat typescript