如何在生产环境中运行Angular?

问题描述 投票:5回答:1

我目前使用以下命令从具有http-server的服务器提供Angularhttp-server ./ index.html

这对Angular应用程序很好。 链接点击工作。 虽然我在url.com/route-name直接输入带有/route-nameURL ,但应用程序崩溃了。

我使用的是lite-server但推荐的lite-server文档只在开发中使用它。 使用lite-server ,我可以直接输入一个带有routeURL ,它可以正常工作。

如何配置http-server以便能够使用页面路由输入URL地址,或者在生产环境中运行Angular另一种好方法是什么?

angular httpserver
1个回答
0
投票

正如mzulch所说,你需要一个可以重定向未找到index.html的url的服务器。 您无法加载网址,因为输入此网址时未加载角度路由器。 因此它无法拦截请求,浏览器显示404未找到错误。 lite-server是一个在开发过程中进行测试的完美服务器。

在生产中,您可以配置nginx服务器以将所有404请求重定向到index.html,然后您的角度路由器负责处理真正的404

在nginx配置中,您可以这样定义:

server {
    error_page 404 =200 /index.html
    # other conf
}

这会将所有404错误重定向到index.html,并将404错误代码转换为200。

© www.soinside.com 2019 - 2024. All rights reserved.