【问题标题】:Failed to load resource (JS files) with Angular2 / Tomcat使用 Angular2 / Tomcat 加载资源(JS 文件)失败
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多