代码之家  ›  专栏  ›  技术社区  ›  Stephane

当应用程序在外部服务器上运行时,找不到所有请求(404)

  •  0
  • Stephane  · 技术社区  · 6 年前

    我的申请书和 ng serve 命令或命令 ng serve --prod 命令,但当我用 ng build --prod 命令,然后用 http-server -p 8080 -c-1 dist/ng-zero 命令或命令 live-server --entry-file=dist/index.html 404 回应。

    我看了不同的问题和他们的答案,但没有任何帮助。我试过了 HashLocationStrategy 建议,我试过了 useHash: true 一个也没有成功。

    $ http-server -p 8080 -c-1 dist/ng-zero
    Starting up http-server, serving dist/ng-zero
    Available on:
      http://127.0.0.1:8080
      http://192.168.0.7:8080
      http://172.19.0.1:8080
    Hit CTRL-C to stop the server
    [Sat Oct 13 2018 11:19:38 GMT+0200 (CEST)] "GET /" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
    [Sat Oct 13 2018 11:19:38 GMT+0200 (CEST)] "GET /" Error (404): "Not found"
    

    它会在上打开一个新的浏览器选项卡 http://127.0.0.1:8080/ 但它是空白的,控制台上写着:

    [Sat Oct 13 2018 11:19:38 GMT+0200 (CEST)] "GET /" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
    [Sat Oct 13 2018 11:19:38 GMT+0200 (CEST)] "GET /" Error (404): "Not found"
    [Sat Oct 13 2018 11:20:51 GMT+0200 (CEST)] "GET /" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
    [Sat Oct 13 2018 11:20:51 GMT+0200 (CEST)] "GET /" Error (404): "Not found"
    

    启动应用程序的Lite服务器:

    $ ll dist/index.html 
    -rw-rw-r-- 1 stephane 925 oct.  12 19:35 dist/index.html
    [stephane@stephane-ThinkPad-X201 ng-zero (master)]
    $ live-server --entry-file=dist/index.html
    Serving "/home/stephane/dev/js/projects/angular/ng-zero" at http://127.0.0.1:8080
    

    http://127.0.0.1:8080/ 但它是空白的,控制台什么也没说。

    这个 index.html

    $ cat src/index.html
    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>NgZero</title>
      <base href="/">
    
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="icon" type="image/x-icon" href="favicon.ico">
      <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
      <link rel="manifest" href="manifest.json">
      <meta name="theme-color" content="#1976d2">
    </head>
    <body class="mat-app-background">
      <app-root></app-root>
      <noscript>Please enable JavaScript to continue using this application.</noscript>
    </body>
    </html>
    

    编辑:

    $ tree 
    .
    ├── app
    │   ├── app.component.css
    │   ├── app.component.html
    │   ├── app.component.spec.ts
    │   ├── app.component.ts
    │   ├── app-gui.module.ts
    │   ├── app.module.ts
    │   ├── app-preloading-strategy.ts
    │   ├── app-routing.module.ts
    │   ├── core
    │   │   ├── auth
    │   │   │   ├── auth-guard.service.ts
    │   │   │   ├── auth.interceptor.ts
    │   │   │   ├── auth.module.ts
    │   │   │   ├── auth.service.ts
    │   │   │   ├── keycloak-client.service.spec.ts
    │   │   │   ├── keycloak-client.service.ts
    │   │   │   ├── keycloak.interceptor.ts
    │   │   │   ├── token.service.spec.ts
    │   │   │   └── token.service.ts
    │   │   ├── error
    │   │   │   ├── error.component.html
    │   │   │   ├── error.component.scss
    │   │   │   ├── error.component.ts
    │   │   │   ├── error-custom-handler.ts
    │   │   │   ├── error.module.ts
    │   │   │   ├── error-request-interceptor.ts
    │   │   │   ├── error-routing.module.ts
    │   │   │   ├── error.service.ts
    │   │   │   └── index.ts
    │   │   ├── login
    │   │   │   ├── login.component.css
    │   │   │   ├── login.component.html
    │   │   │   ├── login.component.spec.ts
    │   │   │   ├── login.component.ts
    │   │   │   ├── login-dialog.component.html
    │   │   │   └── login-dialog.component.ts
    │   │   ├── messages
    │   │   │   ├── messages.component.css
    │   │   │   ├── messages.component.html
    │   │   │   ├── messages.component.spec.ts
    │   │   │   ├── messages.component.ts
    │   │   │   ├── message.service.spec.ts
    │   │   │   └── message.service.ts
    │   │   └── service
    │   │       ├── http.service.ts
    │   │       ├── notification.service.ts
    │   │       ├── pagination.service.ts
    │   │       └── utils.service.ts
    │   ├── core.module.ts
    │   ├── material.module.ts
    │   └── views
    │       ├── dashboard
    │       │   ├── dashboard.component.css
    │       │   ├── dashboard.component.html
    │       │   ├── dashboard.component.spec.ts
    │       │   └── dashboard.component.ts
    │       ├── home
    │       │   ├── home.component.css
    │       │   ├── home.component.html
    │       │   ├── home.component.spec.ts
    │       │   ├── home.component.ts
    │       │   ├── home.module.ts
    │       │   └── home-routing.module.ts
    │       └── user
    │           ├── search.component.css
    │           ├── search.component.html
    │           ├── search.component.spec.ts
    │           ├── search.component.ts
    │           ├── user.component.css
    │           ├── user.component.html
    │           ├── user.component.spec.ts
    │           ├── user.component.ts
    │           ├── users.component.css
    │           ├── users.component.html
    │           ├── users.component.spec.ts
    │           ├── users.component.ts
    │           ├── user.service.spec.ts
    │           ├── user.service.ts
    │           └── user.ts
    ├── assets
    │   └── icons
    │       ├── icon-128x128.png
    │       ├── icon-144x144.png
    │       ├── icon-152x152.png
    │       ├── icon-192x192.png
    │       ├── icon-384x384.png
    │       ├── icon-512x512.png
    │       ├── icon-72x72.png
    │       └── icon-96x96.png
    ├── environments
    │   ├── environment.prod.ts
    │   └── environment.ts
    ├── favicon.ico
    ├── index.html
    ├── main.ts
    ├── manifest.json
    ├── polyfills.ts
    ├── styles.css
    ├── test.ts
    ├── tsconfig.app.json
    ├── tsconfig.spec.json
    └── typings.d.ts
    

    我是7号 ^7.0.0-rc.0

    1 回复  |  直到 6 年前
        1
  •  2
  •   Stephane    6 年前

    这个 ng build --prod /dist 文件夹。你只需要在服务器上复制这些文件。

    如果你想提供 /分布

    1. 安装 angular-http-server
    2. angular-http-server --path dist/
    推荐文章