使用 Webpack 将 Angular 2 应用程序部署到 Tomcat - 404 错误

2024-01-18

我想构建 Angular 2 前端并将其部署到 Tomcat 应用程序服务器。为了开始使用,我完全按照以下介绍的步骤进行:https://angular.io/docs/ts/latest/guide/webpack.html https://angular.io/docs/ts/latest/guide/webpack.html.

所以我有以下项目结构(所有文件与上面提到的介绍完全相同):

angular2-webpack
---配置
--------helpers.js
------karma.conf.js
-------karma-test-shim.js
--------webpack.common.js
--------webpack.dev.js
--------webpack.prod.js
--------webpack.test.js
---dist
---节点模块
- -民众
--------CSS
--------------styles.css
- - - -图片
--------------角.png
---src
- - - -应用程序
--------------app.component.css
--------------app.component.html
--------------app.component.spec.ts
--------------app.component.ts
--------------app.module.ts
-------index.html
--------main.ts
--------polyfills.ts
--------供应商.ts
---打字
---karma.conf.js
---package.json
---tsconfig.json
---typings.json
---webpack.config.js

npm 启动分别webpack-dev-server --inline --progress --port 3000在控制台或 Webstorm 中→按预期工作

当我跑步时npm 构建分别rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail它构建的应用程序没有错误,并且输出捆绑文件按预期实际放置在 dist 文件夹中。

dist
- -资产
--------角.png
---应用程序.css
---app.css.map
---app.js
---app.js.map
---index.html
---polyfills.js
---polyfills.js.map
---供应商.js
---vendor.js.map

接下来我将dist文件夹的内容复制到Tomcat 9.0的webapps目录中。当我尝试访问已安装的应用程序时,我收到 .css 和 .js 文件的 404 错误(可以在附图中看到 https://i.stack.imgur.com/twslK.png)。 它尝试从错误的 URL 获取文件 →“/obv/”丢失。

我真的被困在这里,我感觉我已经尝试了在互联网上可以找到的有关此主题的所有内容。

有人可以告诉我我做错了什么吗?先感谢您。


问题与标签有关<base href="/" />。当使用像 tomcat 这样的网络服务器或尝试直接从文件系统加载应用程序时,这是错误的firefox index.html。这必须更改为<base href="./" />。当应用程序仍然有问题时,请检查脚本文件的导入方式。我尝试使用angular2-webpack https://github.com/preboot/angular2-webpack与 tomcat 一起使用,还需要更改所有脚本标记,以便不在 src 属性中使用前导斜杠。

<script src="js/vendor.js" ></script>

使用 webpack 时,行为由属性控制output.publicPath。在里面Angular2 文档 https://angular.io/docs/ts/latest/guide/webpack.html并在angular2-webpack https://github.com/preboot/angular2-webpack这被设置为

output.publicPath="/"

这导致链接中的绝对路径。删除后,webpack 将使用相对路径,并且脚本和图像的链接可以工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Webpack 将 Angular 2 应用程序部署到 Tomcat - 404 错误 的相关文章

随机推荐

  • 纯虚函数调用

    我正在使用 boost python 来制作用 C 编写的 python 模块 我有一些带有纯虚函数的基类 我已将其导出如下 class Base virtual int getPosition 0 boost python class B
  • 如何在 elm 中按索引获取列表项?

    我有一个清单 现在我想要第 n 项 在哈斯克尔我会使用 但我找不到它的榆树变体 Elm 添加了数组0 12 1 http elm lang org blog announce 0 12 1 elm 并且在 0 19 中对实现进行了大规模修改
  • 如何在 Microsoft Access 中通过 VBA 设置 INSERT SQL 查询的参数值?

    我是 Access 新手 之前使用过 C SQL Server 和 Net 我有一个项目正在进行 我必须完成一些部分 该场景可以描述为 带有子表单的 Access 表单 一个Access查询 即上述子表单的数据源 有两个参数 显示为 Par
  • 使用 SyndicateFeed 读取 SyndicateItem 中的非标准元素

    在 net 3 5 中 有一个 SyndicateFeed 可以加载 RSS 提要并允许您在其上运行 LINQ 以下是我正在加载的 RSS 示例
  • 谷歌云端点返回 java long 作为 JSON 中的字符串

    我正在使用 google app engine 最新版本 1 9 30 我定义我的云端点如下 Api name app version v1 transformers EndpointDateTransformer class public
  • 如何在 IE 10/11 中可靠地将 XML 转换为字符串?

    当使用 jQuery 解析 XML 并将其转换回字符串时 IE 10 和 IE 11 未正确保留命名空间 除了编写我自己的 stringify 代码之外 还有其他可接受的方法可以在 IE 10 11 中执行此操作吗 这是我正在使用的代码 我
  • 直线和球体之间的交点

    我试图找到球体和直线之间的交点 但老实说 我不知道该怎么做 有人能帮我解决这个问题吗 将直线表示为函数t x t x0 1 t t x1 y t y0 1 t t y1 z t z0 1 t t z1 When t 0 它将在一个终点 x0
  • 多行文本框根据文本量自动调整其高度

    我有一个文本框 可以返回长度从 5 个字符到 1000 个字符的各种字符串 它具有以下属性 多行 真 自动换行 true 我需要设置文本框的哪些其他属性才能实现以下操作 盒子的宽度应该是固定的 根据返回的文本量自动调整框的高度 例如 如果文
  • 具有绝对/固定子项的父容器的自动高度

    我试图为包含 2 个子元素的 div 设置自动高度 分别固定和绝对定位 我希望我的父容器具有自动高度 但我知道这很难 因为子元素及其位置从页面结构中取出 我尝试为我的父 div 设置一个有效的高度 但是由于我的布局是响应式的 当它缩小到移动
  • 如何确定一个枚举值是否是另一个枚举值的后继?

    我正在尝试编写一个函数来告诉我是否Enum是另一个人的继承者 这是我的第一次尝试 isSuccessorOf x y x succ y 看起来很合理 我们来尝试一下 gt isSuccessorOf 3 2 True gt isSucces
  • 如何在 androidTest 范围内使用 kapt

    有没有办法将 kapt 用于 androidtest 范围 目前我正在从 com neenbedankt gradle plugins android apt 迁移到 kapt 效果很好 但我不确定如何在 androidTest 范围内执行
  • 如何在 .NET CF 2.0 下调整位图大小

    我有一个位图 我想以编程方式将其放大到原始大小的约 1 5 倍或 2 倍 在 NET CF 2 0 下有没有一种简单的方法可以做到这一点 一种 正常 方式是创建一个新的Bitmap所需大小 创建一个Graphics然后将旧图像绘制到其上Gr
  • 使用 LSTM 进行多元二元序列预测

    我正在研究序列预测问题 并且在这方面没有太多经验 因此下面的一些问题可能很幼稚 FYI 我创建了一个关注 CRF 的后续问题here https stackoverflow com questions 53987682 multivaria
  • 将json字符串保存到客户端电脑(使用HTML5 API)

    我读过一些关于相同内容的旧线程 但最近看到文件 API 发生了很大变化 我的要求是保存一个json文件 数据在indexdDB本地 但我需要一种方法来备份它 由于我使用indexdDB 所以我只针对最近的浏览器 主要是chrome 那么 是
  • 压缩来自 IHttpHandler 的响应时出现“无效使用响应过滤器”

    我有一个 IHttpHandler 返回一个文件 当响应流被压缩时 要么自动使用 Telerik RadCompression 要么通过使用显式设置过滤器 context Response Filter new GZipStream con
  • 每个请求是否有新的 CSRF 令牌?

    因此 我正在阅读周围的内容 并且对拥有 CSRF 令牌感到非常困惑 无论我应该为每个请求生成一个新令牌 还是每小时生成一个新令牌还是其他什么 data token md5 uniqid rand true SESSION token dat
  • @SentTo 如何将消息发送到相关主题?

    我在 Rest 控制器中使用 ReplyingKafkaTemplate 来返回同步响应 我还设置了标头 REPLY TOPIC 对于监听器微服务部分 KafkaListener topics kafka topic request top
  • 清理联系表单而不使用 mysql_real_escape_string

    我通常使用此函数来清理表单输入 然后再将其存储到数据库中 Function to sanitize values received from the form Prevents SQL injection function clean st
  • 如何在 LabVIEW 中的文本框指示器和滑块中显示值?

    有没有办法连接 LabVIEW 前面板上的两个指示器 使它们始终具有相同的值 现在我每次都将两者设置为相同的值 但如果有一种方法可以设置一个来镜像另一个 那就容易多了 您可以使数字显示可见 右键单击滑块并从可见项目中选择 数字显示
  • 使用 Webpack 将 Angular 2 应用程序部署到 Tomcat - 404 错误

    我想构建 Angular 2 前端并将其部署到 Tomcat 应用程序服务器 为了开始使用 我完全按照以下介绍的步骤进行 https angular io docs ts latest guide webpack html https an