Javascript 刷新时未加载Angular2页面

Javascript 刷新时未加载Angular2页面,javascript,angular,routing,load,Javascript,Angular,Routing,Load,我有问题。 当我点击锚点上的索引时 <a href ="/month/1">Month</a> 另外,当我刷新页面时从组件加载页面时,它会出现与我从索引加载页面时相同的错误。在url中添加参数之前,我没有这个问题。我试图在索引中使用routerLink,但它甚至没有加载url。很可能是由于服务器端路由。使用链接href,浏览器向您的应用程序所在的服务器发出请求。如果您尚未将web服务器设置为将所需路径路由到单页应用程序,它将在系统中查找存储在where.com/mon

我有问题。 当我点击锚点上的索引时

<a href ="/month/1">Month</a> 

另外,当我刷新页面时从组件加载页面时,它会出现与我从索引加载页面时相同的错误。在url中添加参数之前,我没有这个问题。我试图在索引中使用routerLink,但它甚至没有加载url。

很可能是由于服务器端路由。使用链接href,浏览器向您的应用程序所在的服务器发出请求。如果您尚未将web服务器设置为将所需路径路由到单页应用程序,它将在系统中查找存储在
where.com/month/1

如果你用你的主机类型(如ExpressJS、IIS等)更新了你的问题,我可以提供一个具体的例子来帮助你

使用IIS URL重写的示例(web.config)


很可能是由于服务器端路由。使用链接href,浏览器向您的应用程序所在的服务器发出请求。如果您尚未将web服务器设置为将所需路径路由到单页应用程序,它将在系统中查找存储在
where.com/month/1

如果你用你的主机类型(如ExpressJS、IIS等)更新了你的问题,我可以提供一个具体的例子来帮助你

使用IIS URL重写的示例(web.config)


这是由于调用了服务器(服务器端路由)。解决问题的方式取决于如何为应用程序提供服务。只要Html和JS(来自传输代码),那么上面的答案以及对web.config的调整就可以了。如果您使用MVC为应用程序提供服务,那么您需要调整路由以将请求传递回客户端

.Net核心示例:

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");

            routes.MapSpaFallbackRoute(
                name: "spa-fallback",
                defaults: new { controller = "Home", action = "Index" });
        });

这是由于正在调用服务器(服务器端路由)。解决问题的方式取决于如何为应用程序提供服务。只要Html和JS(来自传输代码),那么上面的答案以及对web.config的调整就可以了。如果您使用MVC为应用程序提供服务,那么您需要调整路由以将请求传递回客户端

.Net核心示例:

        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");

            routes.MapSpaFallbackRoute(
                name: "spa-fallback",
                defaults: new { controller = "Home", action = "Index" });
        });

我已经写过这个问题了,请检查:当你说“它抛出相同的错误”时,你的意思是它正在显示浏览器404页面,还是控制台中有错误?我已经写过这个问题了,请检查:当你说“它抛出相同的错误”时,你的意思是它正在显示浏览器404页面,或者控制台中有错误?它在localhost:3000上。我正在使用npm@IoanStoianov您使用什么在本地托管它?我使用的是npm lite服务器@Fiddles@IoanStoianov我不知所措,lite服务器应该按照您的预期来做。您是否进行了任何bs配置覆盖?另外,只需检查一下,您的索引页是“index.html”吗?它位于localhost:3000上。我正在使用npm@IoanStoianov您使用什么在本地托管它?我使用的是npm lite服务器@Fiddles@IoanStoianov我不知所措,lite服务器应该按照您的预期来做。您是否进行了任何bs配置覆盖?另外,请检查一下,您的索引页是否为“index.html”?
<rewrite>
  <rules>
      <rule name="Redirect To Index" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
              <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.html" />
      </rule>
  </rules>
</rewrite>
        app.UseMvc(routes =>
        {
            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");

            routes.MapSpaFallbackRoute(
                name: "spa-fallback",
                defaults: new { controller = "Home", action = "Index" });
        });