使用dist输出将angular部署到生产环境中效果不佳

使用dist输出将angular部署到生产环境中效果不佳,angular,angular2-routing,Angular,Angular2 Routing,当使用“ng build--prod”并将dist文件夹内容复制到my war(部署到tomcat容器)时,我面临很多问题。就像刷新页面时出现404错误的路由一样 与我的客户端应用程序并行,我有一个rest应用程序(作为一个动态Web项目),我可以在服务器上部署它(从eclipse),我所做的更改会自动反映出来。 我想知道是否有可能包括我的src的角度作为这个项目的一部分,并部署客户端以及在同一进程 这将节省处理2个单独的项目,并处理建设应用程序,以产生生产输出,这是不是工作完美,因为它在开发模

当使用“ng build--prod”并将dist文件夹内容复制到my war(部署到tomcat容器)时,我面临很多问题。就像刷新页面时出现404错误的路由一样

与我的客户端应用程序并行,我有一个rest应用程序(作为一个动态Web项目),我可以在服务器上部署它(从eclipse),我所做的更改会自动反映出来。 我想知道是否有可能包括我的src的角度作为这个项目的一部分,并部署客户端以及在同一进程

这将节省处理2个单独的项目,并处理建设应用程序,以产生生产输出,这是不是工作完美,因为它在开发模式


谢谢。

您应该在路由器配置中添加useHash选项。它会将您的路由从
yourdomain.com/path
更改为
yourdomain.com/#/path
,并避免404个错误

RouterModule.forRoot(
  appRoutes,
  { useHash: true }
)

这是最容易做到的,但您也可以使用NGINX单独为您的前台服务,并通过发送index.html强制他处理404,并保持相同的url

谢谢。路由现在运行良好,但我想问一下我所做的是否正确:我使用“ng build--prod--base href./”构建了我的应用程序,将dist文件夹原样复制到WebContent文件夹,此外,我在WebContent文件夹下创建了另一个index.html,它将重定向到dist文件夹中的index.html。。。但是我有一个问题,比如找图片。资源是dist folder下的文件夹设置,它包含img文件夹!对不起,我的意思是:>当我转到:图像在那里!在img src中,我使用了dev中的“/assets/img/…”。我将src更改为src=“assets/img/…”,并且它工作了。还有一个问题,我有一个页面,添加一个实体,然后路由到实体列表页面。。。但是直到我再次手动刷新页面,新实体才会显示!