Angular 角度:刷新时-未找到资源(自动更改请求URL)

Angular 角度:刷新时-未找到资源(自动更改请求URL),angular,angular-ui-router,angular7,progressive-web-apps,angular7-router,Angular,Angular Ui Router,Angular7,Progressive Web Apps,Angular7 Router,问题陈述 以下步骤: 打开(成功加载索引文件) 打开(已成功加载UI) 标题:没有状态代码为404的资源/文件) 请注意manifest.json的请求URL 按刷新按钮 案例1:URL变为(仅加载索引文件,而不加载/客户的UI) 注意manifest.json的URL的状态代码为404 案例2:由于请求URL错误,未找到多个资源 项目结构 index.html angular.json 应用程序路由.module.ts 在index.html中添加斜杠 <base hre

问题陈述

以下步骤:

  • 打开(成功加载索引文件)
  • 打开(已成功加载UI)
  • 标题:没有状态代码为404的资源/文件)

    请注意manifest.json的请求URL

  • 按刷新按钮
  • 案例1:URL变为(仅加载索引文件,而不加载/客户的UI)

    注意manifest.json的URL的状态代码为404

    案例2:由于请求URL错误,未找到多个资源

    项目结构


    index.html


    angular.json


    应用程序路由.module.ts



    在index.html中添加斜杠

    <base href="/"> 
    
    
    
    在index.html的
    中添加
    /
    解决了这个问题

    为什么?
    是您的根基本路径,应用程序中的所有资源和资产都是基于此路径引用的

    这意味着你的应用程序将从根文件夹开始,即在本地,它会考虑<代码>本地主机:4200 /< /代码>,在服务器上它会考虑根文件夹。


    当你运行你的应用程序时,它可能会混淆你的浏览器,因为你的文件不在根路径上,可能会通过
    404

    添加到index.html吗?@NikolaStekovic是的,我添加了index.html作为参考。也许可以尝试在你的index.html中使用斜杠
    {
      "name": "MyAppName",
      "short_name": "MyAppName",
      "theme_color": "#1976d2",
      "background_color": "#fafafa",
      "display": "standalone",
      "scope": "/",
      "start_url": "/",
      "prefer_related_applications": true,
      "icons": [
        {
          "src": "assets/icons/icon-72x72.png",
          "sizes": "72x72",
          "type": "image/png"
        },
        {
          "src": "assets/icons/icon-96x96.png",
          "sizes": "96x96",
          "type": "image/png"
        },
        {
          "src": "assets/icons/icon-128x128.png",
          "sizes": "128x128",
          "type": "image/png"
        },
        {
          "src": "assets/icons/icon-144x144.png",
          "sizes": "144x144",
          "type": "image/png"
        },
        {
          "src": "assets/icons/icon-152x152.png",
          "sizes": "152x152",
          "type": "image/png"
        },
        {
          "src": "assets/icons/icon-192x192.png",
          "sizes": "192x192",
          "type": "image/png"
        },
        {
          "src": "assets/icons/icon-384x384.png",
          "sizes": "384x384",
          "type": "image/png"
        },
        {
          "src": "assets/icons/icon-512x512.png",
          "sizes": "512x512",
          "type": "image/png"
        }
      ]
    }
    
    {
      "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
      "version": 1,
      "newProjectRoot": "projects",
      "projects": {
        "MyAppName": {
          "root": "",
          "sourceRoot": "src",
          "projectType": "application",
          "prefix": "app",
          "schematics": {},
          "architect": {
            "build": {
              "builder": "@angular-devkit/build-angular:browser",
              "options": {
                "outputPath": "dist/MyAppName",
                "index": "src/index.html",
                "main": "src/main.ts",
                "polyfills": "src/polyfills.ts",
                "tsConfig": "src/tsconfig.app.json",
                "assets": [
                  "src/favicon.ico",
                  "src/assets",
                  "src/manifest.json"
                ],
                "styles": [
                  "src/styles.css"
                ],
                "scripts": [],
                "es5BrowserSupport": true
              },
              "configurations": {
                "production": {
                  "fileReplacements": [
                    {
                      "replace": "src/environments/environment.ts",
                      "with": "src/environments/environment.prod.ts"
                    }
                  ],
                  "optimization": true,
                  "outputHashing": "all",
                  "sourceMap": false,
                  "extractCss": true,
                  "namedChunks": false,
                  "aot": true,
                  "extractLicenses": true,
                  "vendorChunk": false,
                  "buildOptimizer": true,
                  "budgets": [
                    {
                      "type": "initial",
                      "maximumWarning": "2mb",
                      "maximumError": "5mb"
                    }
                  ],
                  "serviceWorker": true,
                  "ngswConfigPath": "src/ngsw-config.json"
                }
              }
            },
            "serve": {
              "builder": "@angular-devkit/build-angular:dev-server",
              "options": {
                "browserTarget": "MyAppName:build"
              },
              "configurations": {
                "production": {
                  "browserTarget": "MyAppName:build:production"
                }
              }
            },
            "extract-i18n": {
              "builder": "@angular-devkit/build-angular:extract-i18n",
              "options": {
                "browserTarget": "MyAppName:build"
              }
            },
            "test": {
              "builder": "@angular-devkit/build-angular:karma",
              "options": {
                "main": "src/test.ts",
                "polyfills": "src/polyfills.ts",
                "tsConfig": "src/tsconfig.spec.json",
                "karmaConfig": "src/karma.conf.js",
                "styles": [
                  "src/styles.css"
                ],
                "scripts": [],
                "assets": [
                  "src/favicon.ico",
                  "src/assets",
                  "src/manifest.json"
                ]
              }
            },
            "lint": {
              "builder": "@angular-devkit/build-angular:tslint",
              "options": {
                "tsConfig": [
                  "src/tsconfig.app.json",
                  "src/tsconfig.spec.json"
                ],
                "exclude": [
                  "**/node_modules/**"
                ]
              }
            }
          }
        },
        "MyAppName-e2e": {
          "root": "e2e/",
          "projectType": "application",
          "prefix": "",
          "architect": {
            "e2e": {
              "builder": "@angular-devkit/build-angular:protractor",
              "options": {
                "protractorConfig": "e2e/protractor.conf.js",
                "devServerTarget": "MyAppName:serve"
              },
              "configurations": {
                "production": {
                  "devServerTarget": "MyAppName:serve:production"
                }
              }
            },
            "lint": {
              "builder": "@angular-devkit/build-angular:tslint",
              "options": {
                "tsConfig": "e2e/tsconfig.e2e.json",
                "exclude": [
                  "**/node_modules/**"
                ]
              }
            }
          }
        }
      },
      "defaultProject": "MyAppName"
    }
    
    import { NgModule } from '@angular/core';
    import { Routes, RouterModule } from '@angular/router';
    
    //imports Component 
    
    const routes: Routes = 
    [
      {path:'customer/new',component:CreateCustomerAccountComponent,},
      {path:'customers',component:CustomersComponent},
      {path:'customers/:id/history',component:CustomerBuyHistoryComponent},
      {path:'items',component:ItemsComponent},
      {path:'item/new',component:CreateItemComponent},
    ];
    
    @NgModule({
      imports: [RouterModule.forRoot(routes)],
      exports: [RouterModule]
    })
    export class AppRoutingModule { }
    export const routingComponents=
    [
      Components
    ]
    
    ***ng --version***
    
    Angular CLI: 7.3.9
    Node: 12.3.1
    OS: win32 x64
    Angular: 7.2.15
    ... animations, common, compiler, compiler-cli, core, forms
    ... language-service, platform-browser, platform-browser-dynamic
    ... router, service-worker
    
    Package                           Version
    -----------------------------------------------------------
    @angular-devkit/architect         0.13.9
    @angular-devkit/build-angular     0.13.9
    @angular-devkit/build-optimizer   0.13.9
    @angular-devkit/build-webpack     0.13.9
    @angular-devkit/core              7.3.9
    @angular-devkit/schematics        7.3.9
    @angular/cli                      7.3.9
    @angular/pwa                      0.12.4
    @ngtools/webpack                  7.3.9
    @schematics/angular               7.3.9
    @schematics/update                0.13.9
    rxjs                              6.3.3
    typescript                        3.2.4
    webpack                           4.29.0
    
    <base href="/">