首页 > 解决方案 > 在 aws s3 上部署时重新加载 Angular 项目时出现 404 错误

问题描述

我有一个部署 aws s3 的 Angular 项目

我使用ng build --prod

我复制了s3存储桶中的dist文件夹文件..

该页面第一次顺利加载,但是当我重新加载它时..它向我显示了这个错误

GET https://fellowgenius.com/facade 404

我该如何解决这个问题?

这是我的索引 html 页面:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>FellowGenius</title>
    <base href="./" />
    <script>
      var global = global || window;
      var Buffer = Buffer || [];
      var process = process || {
        env: { DEBUG: undefined },
        version: [],
      };
    </script>
    <link rel="icon" type="image/x-icon" href="favicon.ico" />
   <meta name="viewport" content="width=device-width, initial-scale=1" />
  </head>

  <body class="mat-typography">
    <app-root></app-root>
  </body>
</html>

标签: angularamazon-web-servicesamazon-s3

解决方案


默认情况下,HTML5 历史记录用于在 Angular2 中重用。

要修复 404 错误,您需要更新服务器以为您定义的每个路由路径提供 index.html 文件。

如果要切换到 HashBang 方式,需要使用这个配置:

import {bootstrap} from 'angular2/platform/browser';
import {provide} from 'angular2/core';
import {ROUTER_PROVIDERS} from 'angular2/router';
import {LocationStrategy, HashLocationStrategy} from '@angular/common';

import {MyApp} from './myapp';

bootstrap(MyApp, [
  ROUTER_PROVIDERS,
  {provide: LocationStrategy, useClass: HashLocationStrategy}
]);

参考: 当我刷新我的网站时,我得到一个 404。这是使用 Angular2 和 firebase


推荐阅读