Java Tomcat服务器上的Angular应用程序:无法找到/App.js 404错误

Java Tomcat服务器上的Angular应用程序:无法找到/App.js 404错误,java,angularjs,tomcat,Java,Angularjs,Tomcat,通过手动将所有文件复制到/webapps/(mp APP)文件夹,我已在Tomcat服务器上部署了Angular应用程序 当我打开时,index.html会加载 但是,Tomcat找不到index.html中定义的任何.js文件,原因是Resource Not Found 404错误以及页面未正确呈现。使用F12调试页面显示的错误截图如下图所示 index.html中的所有.js文件都已相对于项目根文件夹声明。 有人能帮我配置Tomcat以在不更改index.html文件的情况下查找项目文件夹

通过手动将所有文件复制到/webapps/(mp APP)文件夹,我已在Tomcat服务器上部署了Angular应用程序

当我打开时,index.html会加载

但是,Tomcat找不到index.html中定义的任何.js文件,原因是Resource Not Found 404错误以及页面未正确呈现。使用F12调试页面显示的错误截图如下图所示

index.html中的所有.js文件都已相对于项目根文件夹声明。
有人能帮我配置Tomcat以在不更改index.html文件的情况下查找项目文件夹中的文件吗?

我在server.xml文件中添加了这一行

Context docBase=“/bar-chart-4”path=“”


现在应用程序在打开时加载良好

我在Tomcat下运行的Angular应用程序也遇到了同样的问题。我认为使用Context docBase会影响服务器上的所有应用程序。我发现更好的解决方案是在Angular中的构建步骤中使用base href

e、 g.ng构建——基本href/bar-chart-4/


在这里查看详细解释的更多信息:

在您的package.json中,您可以在构建“dist”时设置基本href:

这将在所有参考资料前添加“/bar-chart-4/”:

<body>
  <app-root></app-root>
    <script src="/bar-chart-4/runtime-es2015.js" type="module"></script>
    <script src="/bar-chart-4/runtime-es5.js" nomodule defer></script>
    <script src="/bar-chart-4/polyfills-es5.js" nomodule defer></script>
    <script src="/bar-chart-4/polyfills-es2015.js" type="module"></script>
    <script src="/bar-chart-4/styles-es2015.js" type="module"></script>
    <script src="/bar-chart-4/styles-es5.js" nomodule defer></script>
    <script src="/bar-chart-4/vendor-es2015.js" type="module"></script>
    <script src="/bar-chart-4/vendor-es5.js" nomodule defer></script>
    <script src="/bar-chart-4/main-es2015.js" type="module"></script>
    <script src="/bar-chart-4/main-es5.js" nomodule defer></script>
</body>


)因此,我的应用程序中有一个gradle bruild脚本,它调用NpmTask“run build”,我的package.json定义了上面定义的上下文根(ng build--base href/myapp)。通过这种方式,我可以使用快速的“ng serve”对UI进行编码,我还可以在“ng build”中构建dist并定义上下文根,以便在我将新版本部署到tomcat时使用。

可能重复尝试在浏览器上打开它:Hi@RaphaelAmoedo…我成功了。我在server.xml文件中添加了这一行,然后我的页面在打开时呈现得非常完美。我在tomcat中部署了多个应用程序。我希望将此更改添加到server.xml不会妨碍我在Tomcat上部署的其他应用程序?
<body>
  <app-root></app-root>
    <script src="/bar-chart-4/runtime-es2015.js" type="module"></script>
    <script src="/bar-chart-4/runtime-es5.js" nomodule defer></script>
    <script src="/bar-chart-4/polyfills-es5.js" nomodule defer></script>
    <script src="/bar-chart-4/polyfills-es2015.js" type="module"></script>
    <script src="/bar-chart-4/styles-es2015.js" type="module"></script>
    <script src="/bar-chart-4/styles-es5.js" nomodule defer></script>
    <script src="/bar-chart-4/vendor-es2015.js" type="module"></script>
    <script src="/bar-chart-4/vendor-es5.js" nomodule defer></script>
    <script src="/bar-chart-4/main-es2015.js" type="module"></script>
    <script src="/bar-chart-4/main-es5.js" nomodule defer></script>
</body>