我一直在使用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 3ms] GET http:// localhost:8080 / vendor / reflect-metadata / Reflect.js [HTTP / 1.1 404找不到4ms] GET http:// localhost:8080 / vendor / systemjs / dist / system.src.js [HTTP / 1.1 404找不到4ms] GET http:// localhost:8080 / vendor / zone.js / dist / zone.js [HTTP / 1.1 404找不到4ms] GET http:// localhost:8080 / vendor / reflect-metadata / Reflect.js [HTTP / 1.1 404找不到1ms] GET http:// localhost:8080 / vendor / systemjs / dist / system.src.js [HTTP / 1.1 404找不到2ms] GET http:// localhost:8080 / vendor / zone.js / dist / zone.js [HTTP / 1.1 404找不到2ms] ReferenceError :未定义系统
这些错误对我来说似乎很奇怪,因为我恰好在这些位置看到了文件。
当我在angular2 cli项目文件夹中运行ng serve时,该应用程序运行正常。
如何在不运行light服务器的情况下将dist文件夹部署在tomcat服务器中,或者light服务器可能需要同时运行?做这个的最好方式是什么?
我正在运行一个小脚本来构建项目,然后将其复制到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