将 angular 部署到带有 dist 输出的生产环境工作不正常
Deploying angular to production with dist output is not working perfectly
当使用 "ng build --prod" 并将 dist 文件夹内容复制到我的 war(部署到 tomcat 容器)时,我面临很多问题。比如刷新页面时出现404错误的路由
与我的客户端应用程序并行,我有其余应用程序(作为动态 Web 项目),我可以将其部署在服务器上(从 eclipse),并且我所做的更改会自动反映出来。
我想知道是否可以将我的 angular 的 src 作为该项目的一部分并在同一进程中部署客户端?!
它将节省处理 2 个单独的项目,以及处理构建应用程序以生成在开发模式下工作不完美的生产输出!
谢谢。
您应该将 useHash 选项添加到您的路由器配置中。它会将您的路由从 yourdomain.com/path
更改为 yourdomain.com/#/path
并避免 404 错误。
RouterModule.forRoot(
appRoutes,
{ useHash: true }
)
这是最简单的做法,但您也可以使用 NGINX 单独为您的前端服务,并通过发送 index.html 强制他处理 404 并保持相同 url
当使用 "ng build --prod" 并将 dist 文件夹内容复制到我的 war(部署到 tomcat 容器)时,我面临很多问题。比如刷新页面时出现404错误的路由
与我的客户端应用程序并行,我有其余应用程序(作为动态 Web 项目),我可以将其部署在服务器上(从 eclipse),并且我所做的更改会自动反映出来。 我想知道是否可以将我的 angular 的 src 作为该项目的一部分并在同一进程中部署客户端?!
它将节省处理 2 个单独的项目,以及处理构建应用程序以生成在开发模式下工作不完美的生产输出!
谢谢。
您应该将 useHash 选项添加到您的路由器配置中。它会将您的路由从 yourdomain.com/path
更改为 yourdomain.com/#/path
并避免 404 错误。
RouterModule.forRoot(
appRoutes,
{ useHash: true }
)
这是最简单的做法,但您也可以使用 NGINX 单独为您的前端服务,并通过发送 index.html 强制他处理 404 并保持相同 url