如何在本地tomcat服务器上部署angular2应用程序?

时间:2016-06-20 23:23:17

标签: tomcat angular

我一直在用lite服务器开发一个angular2应用程序。现在我想在tomcat服务器上部署这个应用程序以连接java后端。我一直在使用角度cli。我使用命令'ng build -prod'来生成dist文件夹。根据angular2的udemy教程,该文件夹的内容是部署angular2项目所需的全部内容。我将此文件夹的内容放在java项目的WebContent文件夹中,然后单击eclipse IDE中的绿色按钮开始提供文件。在其他项目中,我可以用这种方式成功部署html和javscript文件。但是对于这个angular2项目,“正在加载...”出现,应用程序永远不会启动。控制台显示这些错误。

GET http://localhost:8080/vendor/es6-shim/es6-shim.js [HTTP / 1.1 404未找到3毫秒] 得到 http://localhost:8080/vendor/reflect-metadata/Reflect.js [HTTP / 1.1 404未找到4ms] 得到 http://localhost:8080/vendor/systemjs/dist/system.src.js [HTTP / 1.1 404未找到4ms] 得到 http://localhost:8080/vendor/zone.js/dist/zone.js [HTTP / 1.1 404未找到4ms] 得到 http://localhost:8080/vendor/reflect-metadata/Reflect.js [HTTP / 1.1 404未找到1ms] 得到 http://localhost:8080/vendor/systemjs/dist/system.src.js [HTTP / 1.1 404未找到2ms] 得到 http://localhost:8080/vendor/zone.js/dist/zone.js [HTTP / 1.1 404未找到2ms] ReferenceError:未定义系统

这些错误对我来说似乎很奇怪,因为我在这些位置看到文件。

当我在angular2 cli项目文件夹中运行服务时,应用程序运行良好。

如何在不运行light服务器的情况下在tomcat服务器中部署dist文件夹,或者轻型服务器可能需要同时运行?这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:7)

我正在运行一个小脚本来构建项目,然后将其复制到tomcat。我告诉angular它将在tomcat中运行的基本目录是什么。

#!/bin/sh
ng build --base-href /angular/ --prod
mkdir -p /home/xxx/apache-tomcat-8.0.37/webapps/angular
cp -R /home/xxx/angular-clitest/dist/* /home/xxx/apache-tomcat-8.0.37/webapps/angular/

一旦运行,启动tomcat,您可以访问:http://localhost:8080/angular

答案 1 :(得分:0)

使用ng build --environment = prod生成dist文件夹,并将dist文件夹内容复制到tomcat / opt / tomcat / webapps / ROOT /文件夹中。

当我们点击浏览器中的http://localhost:8080/时,将自动加载index.html文件。

由于