如何在生产环境中运行角度2?

时间:2016-01-19 05:38:26

标签: javascript angularjs angular httpserver

我目前正使用以下命令在Angular 2的服务器上运行http-serverhttp-server ./ index.html

这适用于棱角分明。链接点击工作。虽然如果我直接输入url /route-name,就像url.com/route-name一样。该应用程序崩溃。

我使用的是lite-server,但lite-server文档建议仅在开发中使用它。使用lite-server时,我可以直接输入url route并且工作正常。

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

1 个答案:

答案 0 :(得分: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。