我想要将我的Angular 2前端构建和部署到Tomcat应用程序服务器。为了开始,我已经完全遵循以下介绍的步骤:https://angular.io/docs/ts/latest/guide/webpack.html。将Webpack部署到Tomcat的Angular 2应用程序 - 404错误
所以我有以下项目结构(所有文件都完全一样在引进上述mentionend):
angular2-的WebPack
---配置
------- helpers.js
------- karma.conf.js
------- karma-test-shim.js
------- webpack.common.js
----- --webpack.dev.js
------- webpack.prod.js
------- webpack.test.js
--- DIST
--- node_modules
---公共
------- CSS
-------- ------ styles.css
-------图片
-------------- angular.png
--- src
---- --- app
-------------- app.component.css
-------------- app.component.html
- ------------ app.component.spec.ts
-------------- app.component.ts
-------------- app.module.ts
------ -index.html
------- main.ts
------- polyfills.ts
------- vendor.ts
---分型
- -karma.conf.js
---的package.json
--- tsconfig.json
--- typings.json
--- webpack.config.js
NPM在控制台上或Webstorm分别webpack-dev-server --inline --progress --port 3000
开始 →按预期工作
当我运行NPM构建分别为rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail
它建立没有错误,输出包文件,应用程式物理放置在dist文件夹如预期。
DIST
---资产
------- angular.png
--- app.css
---app.css.map
--- app.js
---app.js.map
--- index.html的
--- polyfills.js
---polyfills.js.map
--- vendor.js
---供应商。 JS。地图
接下来,我将dist文件夹的内容复制到Tomcat 9.0的webapps目录中。当我尝试访问已安装的应用程序时,出现.css和.js文件(which can be seen in the attached picture)的404错误。 它试图从错误的URL中获取文件→“/ obv /”丢失。
我真的被困在这里,我有这种感觉,我已经尝试了一切,我可以在互联网上找到关于这个话题的一切。
有人能告诉我我做错了什么吗?先谢谢你。
谢谢你帮助我这么快(我失明了)。我在app.component.html中有这个 标记。 Webpack将src属性更改为以下内容: 。 由于主导斜杠它找不到它。有没有Webpack添加这个斜线的配置或者什么,或者你如何处理这个问题? – Smoose28
由于webpack.config.js(或任何其他webpack配置文件)中的“output.publicPath ='/'”,所以添加了前导斜杠。当这被删除时,默认是一个相对路径而不是绝对路径。 – mszalbach
今日英雄!有用!。非常感谢。我已经在玩“output.publicPath”和“ ”了,我可以发誓我以前尝试过,但没有成功。 –
Smoose28